Bumping k8s dependencies to 1.13

This commit is contained in:
Cheng Xing
2018-11-16 14:08:25 -08:00
parent 305407125c
commit b4c0b68ec7
8002 changed files with 884099 additions and 276228 deletions

View File

@@ -1,58 +1,15 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/spanner/v1/keys.proto
/*
Package spanner is a generated protocol buffer package.
It is generated from these files:
google/spanner/v1/keys.proto
google/spanner/v1/mutation.proto
google/spanner/v1/query_plan.proto
google/spanner/v1/result_set.proto
google/spanner/v1/spanner.proto
google/spanner/v1/transaction.proto
google/spanner/v1/type.proto
It has these top-level messages:
KeyRange
KeySet
Mutation
PlanNode
QueryPlan
ResultSet
PartialResultSet
ResultSetMetadata
ResultSetStats
CreateSessionRequest
Session
GetSessionRequest
ListSessionsRequest
ListSessionsResponse
DeleteSessionRequest
ExecuteSqlRequest
PartitionOptions
PartitionQueryRequest
PartitionReadRequest
Partition
PartitionResponse
ReadRequest
BeginTransactionRequest
CommitRequest
CommitResponse
RollbackRequest
TransactionOptions
Transaction
TransactionSelector
Type
StructType
*/
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_struct "github.com/golang/protobuf/ptypes/struct"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -164,38 +121,52 @@ type KeyRange struct {
// Types that are valid to be assigned to EndKeyType:
// *KeyRange_EndClosed
// *KeyRange_EndOpen
EndKeyType isKeyRange_EndKeyType `protobuf_oneof:"end_key_type"`
EndKeyType isKeyRange_EndKeyType `protobuf_oneof:"end_key_type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyRange) Reset() { *m = KeyRange{} }
func (m *KeyRange) String() string { return proto.CompactTextString(m) }
func (*KeyRange) ProtoMessage() {}
func (*KeyRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *KeyRange) Reset() { *m = KeyRange{} }
func (m *KeyRange) String() string { return proto.CompactTextString(m) }
func (*KeyRange) ProtoMessage() {}
func (*KeyRange) Descriptor() ([]byte, []int) {
return fileDescriptor_558e8abca28348dd, []int{0}
}
func (m *KeyRange) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyRange.Unmarshal(m, b)
}
func (m *KeyRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyRange.Marshal(b, m, deterministic)
}
func (m *KeyRange) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyRange.Merge(m, src)
}
func (m *KeyRange) XXX_Size() int {
return xxx_messageInfo_KeyRange.Size(m)
}
func (m *KeyRange) XXX_DiscardUnknown() {
xxx_messageInfo_KeyRange.DiscardUnknown(m)
}
var xxx_messageInfo_KeyRange proto.InternalMessageInfo
type isKeyRange_StartKeyType interface {
isKeyRange_StartKeyType()
}
type isKeyRange_EndKeyType interface {
isKeyRange_EndKeyType()
}
type KeyRange_StartClosed struct {
StartClosed *google_protobuf1.ListValue `protobuf:"bytes,1,opt,name=start_closed,json=startClosed,oneof"`
StartClosed *_struct.ListValue `protobuf:"bytes,1,opt,name=start_closed,json=startClosed,proto3,oneof"`
}
type KeyRange_StartOpen struct {
StartOpen *google_protobuf1.ListValue `protobuf:"bytes,2,opt,name=start_open,json=startOpen,oneof"`
}
type KeyRange_EndClosed struct {
EndClosed *google_protobuf1.ListValue `protobuf:"bytes,3,opt,name=end_closed,json=endClosed,oneof"`
}
type KeyRange_EndOpen struct {
EndOpen *google_protobuf1.ListValue `protobuf:"bytes,4,opt,name=end_open,json=endOpen,oneof"`
StartOpen *_struct.ListValue `protobuf:"bytes,2,opt,name=start_open,json=startOpen,proto3,oneof"`
}
func (*KeyRange_StartClosed) isKeyRange_StartKeyType() {}
func (*KeyRange_StartOpen) isKeyRange_StartKeyType() {}
func (*KeyRange_EndClosed) isKeyRange_EndKeyType() {}
func (*KeyRange_EndOpen) isKeyRange_EndKeyType() {}
func (*KeyRange_StartOpen) isKeyRange_StartKeyType() {}
func (m *KeyRange) GetStartKeyType() isKeyRange_StartKeyType {
if m != nil {
@@ -203,6 +174,37 @@ func (m *KeyRange) GetStartKeyType() isKeyRange_StartKeyType {
}
return nil
}
func (m *KeyRange) GetStartClosed() *_struct.ListValue {
if x, ok := m.GetStartKeyType().(*KeyRange_StartClosed); ok {
return x.StartClosed
}
return nil
}
func (m *KeyRange) GetStartOpen() *_struct.ListValue {
if x, ok := m.GetStartKeyType().(*KeyRange_StartOpen); ok {
return x.StartOpen
}
return nil
}
type isKeyRange_EndKeyType interface {
isKeyRange_EndKeyType()
}
type KeyRange_EndClosed struct {
EndClosed *_struct.ListValue `protobuf:"bytes,3,opt,name=end_closed,json=endClosed,proto3,oneof"`
}
type KeyRange_EndOpen struct {
EndOpen *_struct.ListValue `protobuf:"bytes,4,opt,name=end_open,json=endOpen,proto3,oneof"`
}
func (*KeyRange_EndClosed) isKeyRange_EndKeyType() {}
func (*KeyRange_EndOpen) isKeyRange_EndKeyType() {}
func (m *KeyRange) GetEndKeyType() isKeyRange_EndKeyType {
if m != nil {
return m.EndKeyType
@@ -210,28 +212,14 @@ func (m *KeyRange) GetEndKeyType() isKeyRange_EndKeyType {
return nil
}
func (m *KeyRange) GetStartClosed() *google_protobuf1.ListValue {
if x, ok := m.GetStartKeyType().(*KeyRange_StartClosed); ok {
return x.StartClosed
}
return nil
}
func (m *KeyRange) GetStartOpen() *google_protobuf1.ListValue {
if x, ok := m.GetStartKeyType().(*KeyRange_StartOpen); ok {
return x.StartOpen
}
return nil
}
func (m *KeyRange) GetEndClosed() *google_protobuf1.ListValue {
func (m *KeyRange) GetEndClosed() *_struct.ListValue {
if x, ok := m.GetEndKeyType().(*KeyRange_EndClosed); ok {
return x.EndClosed
}
return nil
}
func (m *KeyRange) GetEndOpen() *google_protobuf1.ListValue {
func (m *KeyRange) GetEndOpen() *_struct.ListValue {
if x, ok := m.GetEndKeyType().(*KeyRange_EndOpen); ok {
return x.EndOpen
}
@@ -292,7 +280,7 @@ func _KeyRange_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf1.ListValue)
msg := new(_struct.ListValue)
err := b.DecodeMessage(msg)
m.StartKeyType = &KeyRange_StartClosed{msg}
return true, err
@@ -300,7 +288,7 @@ func _KeyRange_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf1.ListValue)
msg := new(_struct.ListValue)
err := b.DecodeMessage(msg)
m.StartKeyType = &KeyRange_StartOpen{msg}
return true, err
@@ -308,7 +296,7 @@ func _KeyRange_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf1.ListValue)
msg := new(_struct.ListValue)
err := b.DecodeMessage(msg)
m.EndKeyType = &KeyRange_EndClosed{msg}
return true, err
@@ -316,7 +304,7 @@ func _KeyRange_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf1.ListValue)
msg := new(_struct.ListValue)
err := b.DecodeMessage(msg)
m.EndKeyType = &KeyRange_EndOpen{msg}
return true, err
@@ -331,12 +319,12 @@ func _KeyRange_OneofSizer(msg proto.Message) (n int) {
switch x := m.StartKeyType.(type) {
case *KeyRange_StartClosed:
s := proto.Size(x.StartClosed)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *KeyRange_StartOpen:
s := proto.Size(x.StartOpen)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -347,12 +335,12 @@ func _KeyRange_OneofSizer(msg proto.Message) (n int) {
switch x := m.EndKeyType.(type) {
case *KeyRange_EndClosed:
s := proto.Size(x.EndClosed)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *KeyRange_EndOpen:
s := proto.Size(x.EndOpen)
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -374,22 +362,45 @@ type KeySet struct {
// many elements as there are columns in the primary or index key
// with which this `KeySet` is used. Individual key values are
// encoded as described [here][google.spanner.v1.TypeCode].
Keys []*google_protobuf1.ListValue `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
Keys []*_struct.ListValue `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
// A list of key ranges. See [KeyRange][google.spanner.v1.KeyRange] for more information about
// key range specifications.
Ranges []*KeyRange `protobuf:"bytes,2,rep,name=ranges" json:"ranges,omitempty"`
Ranges []*KeyRange `protobuf:"bytes,2,rep,name=ranges,proto3" json:"ranges,omitempty"`
// For convenience `all` can be set to `true` to indicate that this
// `KeySet` matches all keys in the table or index. Note that any keys
// specified in `keys` or `ranges` are only yielded once.
All bool `protobuf:"varint,3,opt,name=all" json:"all,omitempty"`
All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeySet) Reset() { *m = KeySet{} }
func (m *KeySet) String() string { return proto.CompactTextString(m) }
func (*KeySet) ProtoMessage() {}
func (*KeySet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *KeySet) Reset() { *m = KeySet{} }
func (m *KeySet) String() string { return proto.CompactTextString(m) }
func (*KeySet) ProtoMessage() {}
func (*KeySet) Descriptor() ([]byte, []int) {
return fileDescriptor_558e8abca28348dd, []int{1}
}
func (m *KeySet) GetKeys() []*google_protobuf1.ListValue {
func (m *KeySet) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeySet.Unmarshal(m, b)
}
func (m *KeySet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeySet.Marshal(b, m, deterministic)
}
func (m *KeySet) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeySet.Merge(m, src)
}
func (m *KeySet) XXX_Size() int {
return xxx_messageInfo_KeySet.Size(m)
}
func (m *KeySet) XXX_DiscardUnknown() {
xxx_messageInfo_KeySet.DiscardUnknown(m)
}
var xxx_messageInfo_KeySet proto.InternalMessageInfo
func (m *KeySet) GetKeys() []*_struct.ListValue {
if m != nil {
return m.Keys
}
@@ -415,9 +426,9 @@ func init() {
proto.RegisterType((*KeySet)(nil), "google.spanner.v1.KeySet")
}
func init() { proto.RegisterFile("google/spanner/v1/keys.proto", fileDescriptor0) }
func init() { proto.RegisterFile("google/spanner/v1/keys.proto", fileDescriptor_558e8abca28348dd) }
var fileDescriptor0 = []byte{
var fileDescriptor_558e8abca28348dd = []byte{
// 371 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x6b, 0xea, 0x30,
0x1c, 0xc7, 0x5f, 0xab, 0xf8, 0x34, 0x8a, 0xf8, 0x0a, 0x8f, 0x57, 0x7c, 0x3b, 0x88, 0xa7, 0x9d,

View File

@@ -3,17 +3,25 @@
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_struct "github.com/golang/protobuf/ptypes/struct"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
// A modification to one or more Cloud Spanner rows. Mutations can be
// applied to a Cloud Spanner database by sending them in a
// [Commit][google.spanner.v1.Spanner.Commit] call.
@@ -26,39 +34,70 @@ type Mutation struct {
// *Mutation_InsertOrUpdate
// *Mutation_Replace
// *Mutation_Delete_
Operation isMutation_Operation `protobuf_oneof:"operation"`
Operation isMutation_Operation `protobuf_oneof:"operation"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Mutation) Reset() { *m = Mutation{} }
func (m *Mutation) String() string { return proto.CompactTextString(m) }
func (*Mutation) ProtoMessage() {}
func (*Mutation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
func (m *Mutation) Reset() { *m = Mutation{} }
func (m *Mutation) String() string { return proto.CompactTextString(m) }
func (*Mutation) ProtoMessage() {}
func (*Mutation) Descriptor() ([]byte, []int) {
return fileDescriptor_069356a524fd0232, []int{0}
}
func (m *Mutation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Mutation.Unmarshal(m, b)
}
func (m *Mutation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Mutation.Marshal(b, m, deterministic)
}
func (m *Mutation) XXX_Merge(src proto.Message) {
xxx_messageInfo_Mutation.Merge(m, src)
}
func (m *Mutation) XXX_Size() int {
return xxx_messageInfo_Mutation.Size(m)
}
func (m *Mutation) XXX_DiscardUnknown() {
xxx_messageInfo_Mutation.DiscardUnknown(m)
}
var xxx_messageInfo_Mutation proto.InternalMessageInfo
type isMutation_Operation interface {
isMutation_Operation()
}
type Mutation_Insert struct {
Insert *Mutation_Write `protobuf:"bytes,1,opt,name=insert,oneof"`
}
type Mutation_Update struct {
Update *Mutation_Write `protobuf:"bytes,2,opt,name=update,oneof"`
}
type Mutation_InsertOrUpdate struct {
InsertOrUpdate *Mutation_Write `protobuf:"bytes,3,opt,name=insert_or_update,json=insertOrUpdate,oneof"`
}
type Mutation_Replace struct {
Replace *Mutation_Write `protobuf:"bytes,4,opt,name=replace,oneof"`
}
type Mutation_Delete_ struct {
Delete *Mutation_Delete `protobuf:"bytes,5,opt,name=delete,oneof"`
Insert *Mutation_Write `protobuf:"bytes,1,opt,name=insert,proto3,oneof"`
}
func (*Mutation_Insert) isMutation_Operation() {}
func (*Mutation_Update) isMutation_Operation() {}
type Mutation_Update struct {
Update *Mutation_Write `protobuf:"bytes,2,opt,name=update,proto3,oneof"`
}
type Mutation_InsertOrUpdate struct {
InsertOrUpdate *Mutation_Write `protobuf:"bytes,3,opt,name=insert_or_update,json=insertOrUpdate,proto3,oneof"`
}
type Mutation_Replace struct {
Replace *Mutation_Write `protobuf:"bytes,4,opt,name=replace,proto3,oneof"`
}
type Mutation_Delete_ struct {
Delete *Mutation_Delete `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
}
func (*Mutation_Insert) isMutation_Operation() {}
func (*Mutation_Update) isMutation_Operation() {}
func (*Mutation_InsertOrUpdate) isMutation_Operation() {}
func (*Mutation_Replace) isMutation_Operation() {}
func (*Mutation_Delete_) isMutation_Operation() {}
func (*Mutation_Replace) isMutation_Operation() {}
func (*Mutation_Delete_) isMutation_Operation() {}
func (m *Mutation) GetOperation() isMutation_Operation {
if m != nil {
@@ -203,27 +242,27 @@ func _Mutation_OneofSizer(msg proto.Message) (n int) {
switch x := m.Operation.(type) {
case *Mutation_Insert:
s := proto.Size(x.Insert)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Mutation_Update:
s := proto.Size(x.Update)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Mutation_InsertOrUpdate:
s := proto.Size(x.InsertOrUpdate)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Mutation_Replace:
s := proto.Size(x.Replace)
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Mutation_Delete_:
s := proto.Size(x.Delete)
n += proto.SizeVarint(5<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -237,13 +276,13 @@ func _Mutation_OneofSizer(msg proto.Message) (n int) {
// [replace][google.spanner.v1.Mutation.replace] operations.
type Mutation_Write struct {
// Required. The table whose rows will be written.
Table string `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"`
Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"`
// The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
//
// The list of columns must contain enough columns to allow
// Cloud Spanner to derive values for all primary key columns in the
// row(s) to be modified.
Columns []string `protobuf:"bytes,2,rep,name=columns" json:"columns,omitempty"`
Columns []string `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"`
// The values to be written. `values` can contain more than one
// list of values. If it does, then multiple rows are written, one
// for each entry in `values`. Each list in `values` must have
@@ -252,13 +291,36 @@ type Mutation_Write struct {
// `Mutation`s, each containing one `values` entry and repeating
// [table][google.spanner.v1.Mutation.Write.table] and [columns][google.spanner.v1.Mutation.Write.columns]. Individual values in each list are
// encoded as described [here][google.spanner.v1.TypeCode].
Values []*google_protobuf1.ListValue `protobuf:"bytes,3,rep,name=values" json:"values,omitempty"`
Values []*_struct.ListValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Mutation_Write) Reset() { *m = Mutation_Write{} }
func (m *Mutation_Write) String() string { return proto.CompactTextString(m) }
func (*Mutation_Write) ProtoMessage() {}
func (*Mutation_Write) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
func (m *Mutation_Write) Reset() { *m = Mutation_Write{} }
func (m *Mutation_Write) String() string { return proto.CompactTextString(m) }
func (*Mutation_Write) ProtoMessage() {}
func (*Mutation_Write) Descriptor() ([]byte, []int) {
return fileDescriptor_069356a524fd0232, []int{0, 0}
}
func (m *Mutation_Write) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Mutation_Write.Unmarshal(m, b)
}
func (m *Mutation_Write) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Mutation_Write.Marshal(b, m, deterministic)
}
func (m *Mutation_Write) XXX_Merge(src proto.Message) {
xxx_messageInfo_Mutation_Write.Merge(m, src)
}
func (m *Mutation_Write) XXX_Size() int {
return xxx_messageInfo_Mutation_Write.Size(m)
}
func (m *Mutation_Write) XXX_DiscardUnknown() {
xxx_messageInfo_Mutation_Write.DiscardUnknown(m)
}
var xxx_messageInfo_Mutation_Write proto.InternalMessageInfo
func (m *Mutation_Write) GetTable() string {
if m != nil {
@@ -274,7 +336,7 @@ func (m *Mutation_Write) GetColumns() []string {
return nil
}
func (m *Mutation_Write) GetValues() []*google_protobuf1.ListValue {
func (m *Mutation_Write) GetValues() []*_struct.ListValue {
if m != nil {
return m.Values
}
@@ -284,17 +346,40 @@ func (m *Mutation_Write) GetValues() []*google_protobuf1.ListValue {
// Arguments to [delete][google.spanner.v1.Mutation.delete] operations.
type Mutation_Delete struct {
// Required. The table whose rows will be deleted.
Table string `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"`
Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"`
// Required. The primary keys of the rows within [table][google.spanner.v1.Mutation.Delete.table] to delete.
// Delete is idempotent. The transaction will succeed even if some or all
// rows do not exist.
KeySet *KeySet `protobuf:"bytes,2,opt,name=key_set,json=keySet" json:"key_set,omitempty"`
KeySet *KeySet `protobuf:"bytes,2,opt,name=key_set,json=keySet,proto3" json:"key_set,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Mutation_Delete) Reset() { *m = Mutation_Delete{} }
func (m *Mutation_Delete) String() string { return proto.CompactTextString(m) }
func (*Mutation_Delete) ProtoMessage() {}
func (*Mutation_Delete) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 1} }
func (m *Mutation_Delete) Reset() { *m = Mutation_Delete{} }
func (m *Mutation_Delete) String() string { return proto.CompactTextString(m) }
func (*Mutation_Delete) ProtoMessage() {}
func (*Mutation_Delete) Descriptor() ([]byte, []int) {
return fileDescriptor_069356a524fd0232, []int{0, 1}
}
func (m *Mutation_Delete) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Mutation_Delete.Unmarshal(m, b)
}
func (m *Mutation_Delete) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Mutation_Delete.Marshal(b, m, deterministic)
}
func (m *Mutation_Delete) XXX_Merge(src proto.Message) {
xxx_messageInfo_Mutation_Delete.Merge(m, src)
}
func (m *Mutation_Delete) XXX_Size() int {
return xxx_messageInfo_Mutation_Delete.Size(m)
}
func (m *Mutation_Delete) XXX_DiscardUnknown() {
xxx_messageInfo_Mutation_Delete.DiscardUnknown(m)
}
var xxx_messageInfo_Mutation_Delete proto.InternalMessageInfo
func (m *Mutation_Delete) GetTable() string {
if m != nil {
@@ -316,9 +401,9 @@ func init() {
proto.RegisterType((*Mutation_Delete)(nil), "google.spanner.v1.Mutation.Delete")
}
func init() { proto.RegisterFile("google/spanner/v1/mutation.proto", fileDescriptor1) }
func init() { proto.RegisterFile("google/spanner/v1/mutation.proto", fileDescriptor_069356a524fd0232) }
var fileDescriptor1 = []byte{
var fileDescriptor_069356a524fd0232 = []byte{
// 413 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xd1, 0xea, 0xd3, 0x30,
0x14, 0xc6, 0xed, 0xba, 0x75, 0x2e, 0x43, 0xd1, 0xa2, 0x58, 0x8b, 0x17, 0x75, 0x57, 0xbb, 0x4a,

View File

@@ -3,17 +3,25 @@
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_struct "github.com/golang/protobuf/ptypes/struct"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
// The kind of [PlanNode][google.spanner.v1.PlanNode]. Distinguishes between the two different kinds of
// nodes that can appear in a query plan.
type PlanNode_Kind int32
@@ -37,6 +45,7 @@ var PlanNode_Kind_name = map[int32]string{
1: "RELATIONAL",
2: "SCALAR",
}
var PlanNode_Kind_value = map[string]int32{
"KIND_UNSPECIFIED": 0,
"RELATIONAL": 1,
@@ -46,24 +55,27 @@ var PlanNode_Kind_value = map[string]int32{
func (x PlanNode_Kind) String() string {
return proto.EnumName(PlanNode_Kind_name, int32(x))
}
func (PlanNode_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
func (PlanNode_Kind) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_14e5ab0c0507d181, []int{0, 0}
}
// Node information for nodes appearing in a [QueryPlan.plan_nodes][google.spanner.v1.QueryPlan.plan_nodes].
type PlanNode struct {
// The `PlanNode`'s index in [node list][google.spanner.v1.QueryPlan.plan_nodes].
Index int32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
// Used to determine the type of node. May be needed for visualizing
// different kinds of nodes differently. For example, If the node is a
// [SCALAR][google.spanner.v1.PlanNode.Kind.SCALAR] node, it will have a condensed representation
// which can be used to directly embed a description of the node in its
// parent.
Kind PlanNode_Kind `protobuf:"varint,2,opt,name=kind,enum=google.spanner.v1.PlanNode_Kind" json:"kind,omitempty"`
Kind PlanNode_Kind `protobuf:"varint,2,opt,name=kind,proto3,enum=google.spanner.v1.PlanNode_Kind" json:"kind,omitempty"`
// The display name for the node.
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// List of child node `index`es and their relationship to this parent.
ChildLinks []*PlanNode_ChildLink `protobuf:"bytes,4,rep,name=child_links,json=childLinks" json:"child_links,omitempty"`
ChildLinks []*PlanNode_ChildLink `protobuf:"bytes,4,rep,name=child_links,json=childLinks,proto3" json:"child_links,omitempty"`
// Condensed representation for [SCALAR][google.spanner.v1.PlanNode.Kind.SCALAR] nodes.
ShortRepresentation *PlanNode_ShortRepresentation `protobuf:"bytes,5,opt,name=short_representation,json=shortRepresentation" json:"short_representation,omitempty"`
ShortRepresentation *PlanNode_ShortRepresentation `protobuf:"bytes,5,opt,name=short_representation,json=shortRepresentation,proto3" json:"short_representation,omitempty"`
// Attributes relevant to the node contained in a group of key-value pairs.
// For example, a Parameter Reference node could have the following
// information in its metadata:
@@ -72,18 +84,41 @@ type PlanNode struct {
// "parameter_reference": "param1",
// "parameter_type": "array"
// }
Metadata *google_protobuf1.Struct `protobuf:"bytes,6,opt,name=metadata" json:"metadata,omitempty"`
Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
// The execution statistics associated with the node, contained in a group of
// key-value pairs. Only present if the plan was returned as a result of a
// profile query. For example, number of executions, number of rows/time per
// execution etc.
ExecutionStats *google_protobuf1.Struct `protobuf:"bytes,7,opt,name=execution_stats,json=executionStats" json:"execution_stats,omitempty"`
ExecutionStats *_struct.Struct `protobuf:"bytes,7,opt,name=execution_stats,json=executionStats,proto3" json:"execution_stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PlanNode) Reset() { *m = PlanNode{} }
func (m *PlanNode) String() string { return proto.CompactTextString(m) }
func (*PlanNode) ProtoMessage() {}
func (*PlanNode) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
func (m *PlanNode) Reset() { *m = PlanNode{} }
func (m *PlanNode) String() string { return proto.CompactTextString(m) }
func (*PlanNode) ProtoMessage() {}
func (*PlanNode) Descriptor() ([]byte, []int) {
return fileDescriptor_14e5ab0c0507d181, []int{0}
}
func (m *PlanNode) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PlanNode.Unmarshal(m, b)
}
func (m *PlanNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PlanNode.Marshal(b, m, deterministic)
}
func (m *PlanNode) XXX_Merge(src proto.Message) {
xxx_messageInfo_PlanNode.Merge(m, src)
}
func (m *PlanNode) XXX_Size() int {
return xxx_messageInfo_PlanNode.Size(m)
}
func (m *PlanNode) XXX_DiscardUnknown() {
xxx_messageInfo_PlanNode.DiscardUnknown(m)
}
var xxx_messageInfo_PlanNode proto.InternalMessageInfo
func (m *PlanNode) GetIndex() int32 {
if m != nil {
@@ -120,14 +155,14 @@ func (m *PlanNode) GetShortRepresentation() *PlanNode_ShortRepresentation {
return nil
}
func (m *PlanNode) GetMetadata() *google_protobuf1.Struct {
func (m *PlanNode) GetMetadata() *_struct.Struct {
if m != nil {
return m.Metadata
}
return nil
}
func (m *PlanNode) GetExecutionStats() *google_protobuf1.Struct {
func (m *PlanNode) GetExecutionStats() *_struct.Struct {
if m != nil {
return m.ExecutionStats
}
@@ -138,12 +173,12 @@ func (m *PlanNode) GetExecutionStats() *google_protobuf1.Struct {
// [PlanNode][google.spanner.v1.PlanNode].
type PlanNode_ChildLink struct {
// The node to which the link points.
ChildIndex int32 `protobuf:"varint,1,opt,name=child_index,json=childIndex" json:"child_index,omitempty"`
ChildIndex int32 `protobuf:"varint,1,opt,name=child_index,json=childIndex,proto3" json:"child_index,omitempty"`
// The type of the link. For example, in Hash Joins this could be used to
// distinguish between the build child and the probe child, or in the case
// of the child being an output variable, to represent the tag associated
// with the output variable.
Type string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
// Only present if the child node is [SCALAR][google.spanner.v1.PlanNode.Kind.SCALAR] and corresponds
// to an output variable of the parent node. The field carries the name of
// the output variable.
@@ -152,13 +187,36 @@ type PlanNode_ChildLink struct {
// created for each column that is read by the operator. The corresponding
// `variable` fields will be set to the variable names assigned to the
// columns.
Variable string `protobuf:"bytes,3,opt,name=variable" json:"variable,omitempty"`
Variable string `protobuf:"bytes,3,opt,name=variable,proto3" json:"variable,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PlanNode_ChildLink) Reset() { *m = PlanNode_ChildLink{} }
func (m *PlanNode_ChildLink) String() string { return proto.CompactTextString(m) }
func (*PlanNode_ChildLink) ProtoMessage() {}
func (*PlanNode_ChildLink) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
func (m *PlanNode_ChildLink) Reset() { *m = PlanNode_ChildLink{} }
func (m *PlanNode_ChildLink) String() string { return proto.CompactTextString(m) }
func (*PlanNode_ChildLink) ProtoMessage() {}
func (*PlanNode_ChildLink) Descriptor() ([]byte, []int) {
return fileDescriptor_14e5ab0c0507d181, []int{0, 0}
}
func (m *PlanNode_ChildLink) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PlanNode_ChildLink.Unmarshal(m, b)
}
func (m *PlanNode_ChildLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PlanNode_ChildLink.Marshal(b, m, deterministic)
}
func (m *PlanNode_ChildLink) XXX_Merge(src proto.Message) {
xxx_messageInfo_PlanNode_ChildLink.Merge(m, src)
}
func (m *PlanNode_ChildLink) XXX_Size() int {
return xxx_messageInfo_PlanNode_ChildLink.Size(m)
}
func (m *PlanNode_ChildLink) XXX_DiscardUnknown() {
xxx_messageInfo_PlanNode_ChildLink.DiscardUnknown(m)
}
var xxx_messageInfo_PlanNode_ChildLink proto.InternalMessageInfo
func (m *PlanNode_ChildLink) GetChildIndex() int32 {
if m != nil {
@@ -185,19 +243,42 @@ func (m *PlanNode_ChildLink) GetVariable() string {
// `SCALAR` [PlanNode(s)][google.spanner.v1.PlanNode].
type PlanNode_ShortRepresentation struct {
// A string representation of the expression subtree rooted at this node.
Description string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
// A mapping of (subquery variable name) -> (subquery node id) for cases
// where the `description` string of this node references a `SCALAR`
// subquery contained in the expression subtree rooted at this node. The
// referenced `SCALAR` subquery may not necessarily be a direct child of
// this node.
Subqueries map[string]int32 `protobuf:"bytes,2,rep,name=subqueries" json:"subqueries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
Subqueries map[string]int32 `protobuf:"bytes,2,rep,name=subqueries,proto3" json:"subqueries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PlanNode_ShortRepresentation) Reset() { *m = PlanNode_ShortRepresentation{} }
func (m *PlanNode_ShortRepresentation) String() string { return proto.CompactTextString(m) }
func (*PlanNode_ShortRepresentation) ProtoMessage() {}
func (*PlanNode_ShortRepresentation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 1} }
func (m *PlanNode_ShortRepresentation) Reset() { *m = PlanNode_ShortRepresentation{} }
func (m *PlanNode_ShortRepresentation) String() string { return proto.CompactTextString(m) }
func (*PlanNode_ShortRepresentation) ProtoMessage() {}
func (*PlanNode_ShortRepresentation) Descriptor() ([]byte, []int) {
return fileDescriptor_14e5ab0c0507d181, []int{0, 1}
}
func (m *PlanNode_ShortRepresentation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PlanNode_ShortRepresentation.Unmarshal(m, b)
}
func (m *PlanNode_ShortRepresentation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PlanNode_ShortRepresentation.Marshal(b, m, deterministic)
}
func (m *PlanNode_ShortRepresentation) XXX_Merge(src proto.Message) {
xxx_messageInfo_PlanNode_ShortRepresentation.Merge(m, src)
}
func (m *PlanNode_ShortRepresentation) XXX_Size() int {
return xxx_messageInfo_PlanNode_ShortRepresentation.Size(m)
}
func (m *PlanNode_ShortRepresentation) XXX_DiscardUnknown() {
xxx_messageInfo_PlanNode_ShortRepresentation.DiscardUnknown(m)
}
var xxx_messageInfo_PlanNode_ShortRepresentation proto.InternalMessageInfo
func (m *PlanNode_ShortRepresentation) GetDescription() string {
if m != nil {
@@ -218,13 +299,36 @@ type QueryPlan struct {
// The nodes in the query plan. Plan nodes are returned in pre-order starting
// with the plan root. Each [PlanNode][google.spanner.v1.PlanNode]'s `id` corresponds to its index in
// `plan_nodes`.
PlanNodes []*PlanNode `protobuf:"bytes,1,rep,name=plan_nodes,json=planNodes" json:"plan_nodes,omitempty"`
PlanNodes []*PlanNode `protobuf:"bytes,1,rep,name=plan_nodes,json=planNodes,proto3" json:"plan_nodes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *QueryPlan) Reset() { *m = QueryPlan{} }
func (m *QueryPlan) String() string { return proto.CompactTextString(m) }
func (*QueryPlan) ProtoMessage() {}
func (*QueryPlan) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
func (m *QueryPlan) Reset() { *m = QueryPlan{} }
func (m *QueryPlan) String() string { return proto.CompactTextString(m) }
func (*QueryPlan) ProtoMessage() {}
func (*QueryPlan) Descriptor() ([]byte, []int) {
return fileDescriptor_14e5ab0c0507d181, []int{1}
}
func (m *QueryPlan) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryPlan.Unmarshal(m, b)
}
func (m *QueryPlan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_QueryPlan.Marshal(b, m, deterministic)
}
func (m *QueryPlan) XXX_Merge(src proto.Message) {
xxx_messageInfo_QueryPlan.Merge(m, src)
}
func (m *QueryPlan) XXX_Size() int {
return xxx_messageInfo_QueryPlan.Size(m)
}
func (m *QueryPlan) XXX_DiscardUnknown() {
xxx_messageInfo_QueryPlan.DiscardUnknown(m)
}
var xxx_messageInfo_QueryPlan proto.InternalMessageInfo
func (m *QueryPlan) GetPlanNodes() []*PlanNode {
if m != nil {
@@ -234,16 +338,17 @@ func (m *QueryPlan) GetPlanNodes() []*PlanNode {
}
func init() {
proto.RegisterEnum("google.spanner.v1.PlanNode_Kind", PlanNode_Kind_name, PlanNode_Kind_value)
proto.RegisterType((*PlanNode)(nil), "google.spanner.v1.PlanNode")
proto.RegisterType((*PlanNode_ChildLink)(nil), "google.spanner.v1.PlanNode.ChildLink")
proto.RegisterType((*PlanNode_ShortRepresentation)(nil), "google.spanner.v1.PlanNode.ShortRepresentation")
proto.RegisterMapType((map[string]int32)(nil), "google.spanner.v1.PlanNode.ShortRepresentation.SubqueriesEntry")
proto.RegisterType((*QueryPlan)(nil), "google.spanner.v1.QueryPlan")
proto.RegisterEnum("google.spanner.v1.PlanNode_Kind", PlanNode_Kind_name, PlanNode_Kind_value)
}
func init() { proto.RegisterFile("google/spanner/v1/query_plan.proto", fileDescriptor2) }
func init() { proto.RegisterFile("google/spanner/v1/query_plan.proto", fileDescriptor_14e5ab0c0507d181) }
var fileDescriptor2 = []byte{
var fileDescriptor_14e5ab0c0507d181 = []byte{
// 604 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xdd, 0x6e, 0xd3, 0x4c,
0x10, 0xfd, 0x9c, 0x26, 0xf9, 0x9a, 0x09, 0x4a, 0xc3, 0xb6, 0xa8, 0x56, 0x40, 0xc2, 0x44, 0x42,

View File

@@ -3,39 +3,75 @@
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_struct "github.com/golang/protobuf/ptypes/struct"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
// Results from [Read][google.spanner.v1.Spanner.Read] or
// [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql].
type ResultSet struct {
// Metadata about the result set, such as row type information.
Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata" json:"metadata,omitempty"`
Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Each element in `rows` is a row whose format is defined by
// [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
// in each row matches the ith field in
// [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
// encoded based on type as described
// [here][google.spanner.v1.TypeCode].
Rows []*google_protobuf1.ListValue `protobuf:"bytes,2,rep,name=rows" json:"rows,omitempty"`
// Query plan and execution statistics for the query that produced this
// result set. These can be requested by setting
Rows []*_struct.ListValue `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
// Query plan and execution statistics for the SQL statement that
// produced this result set. These can be requested by setting
// [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
Stats *ResultSetStats `protobuf:"bytes,3,opt,name=stats" json:"stats,omitempty"`
// DML statements always produce stats containing the number of rows
// modified, unless executed using the
// [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
// Other fields may or may not be populated, based on the
// [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
Stats *ResultSetStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResultSet) Reset() { *m = ResultSet{} }
func (m *ResultSet) String() string { return proto.CompactTextString(m) }
func (*ResultSet) ProtoMessage() {}
func (*ResultSet) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
func (m *ResultSet) Reset() { *m = ResultSet{} }
func (m *ResultSet) String() string { return proto.CompactTextString(m) }
func (*ResultSet) ProtoMessage() {}
func (*ResultSet) Descriptor() ([]byte, []int) {
return fileDescriptor_e8c1400ddbf24213, []int{0}
}
func (m *ResultSet) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResultSet.Unmarshal(m, b)
}
func (m *ResultSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResultSet.Marshal(b, m, deterministic)
}
func (m *ResultSet) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResultSet.Merge(m, src)
}
func (m *ResultSet) XXX_Size() int {
return xxx_messageInfo_ResultSet.Size(m)
}
func (m *ResultSet) XXX_DiscardUnknown() {
xxx_messageInfo_ResultSet.DiscardUnknown(m)
}
var xxx_messageInfo_ResultSet proto.InternalMessageInfo
func (m *ResultSet) GetMetadata() *ResultSetMetadata {
if m != nil {
@@ -44,7 +80,7 @@ func (m *ResultSet) GetMetadata() *ResultSetMetadata {
return nil
}
func (m *ResultSet) GetRows() []*google_protobuf1.ListValue {
func (m *ResultSet) GetRows() []*_struct.ListValue {
if m != nil {
return m.Rows
}
@@ -64,7 +100,7 @@ func (m *ResultSet) GetStats() *ResultSetStats {
type PartialResultSet struct {
// Metadata about the result set, such as row type information.
// Only present in the first response.
Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata" json:"metadata,omitempty"`
Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
// A streamed result set consists of a stream of values, which might
// be split into many `PartialResultSet` messages to accommodate
// large rows and/or large values. Every N complete values defines a
@@ -138,28 +174,53 @@ type PartialResultSet struct {
// This sequence of `PartialResultSet`s encodes two rows, one
// containing the field value `"Hello"`, and a second containing the
// field value `"World" = "W" + "orl" + "d"`.
Values []*google_protobuf1.Value `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"`
Values []*_struct.Value `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
// If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
// be combined with more values from subsequent `PartialResultSet`s
// to obtain a complete field value.
ChunkedValue bool `protobuf:"varint,3,opt,name=chunked_value,json=chunkedValue" json:"chunked_value,omitempty"`
ChunkedValue bool `protobuf:"varint,3,opt,name=chunked_value,json=chunkedValue,proto3" json:"chunked_value,omitempty"`
// Streaming calls might be interrupted for a variety of reasons, such
// as TCP connection loss. If this occurs, the stream of results can
// be resumed by re-sending the original request and including
// `resume_token`. Note that executing any other transaction in the
// same session invalidates the token.
ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
// Query plan and execution statistics for the query that produced this
// Query plan and execution statistics for the statement that produced this
// streaming result set. These can be requested by setting
// [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
// only once with the last response in the stream.
Stats *ResultSetStats `protobuf:"bytes,5,opt,name=stats" json:"stats,omitempty"`
// This field will also be present in the last response for DML
// statements.
Stats *ResultSetStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PartialResultSet) Reset() { *m = PartialResultSet{} }
func (m *PartialResultSet) String() string { return proto.CompactTextString(m) }
func (*PartialResultSet) ProtoMessage() {}
func (*PartialResultSet) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
func (m *PartialResultSet) Reset() { *m = PartialResultSet{} }
func (m *PartialResultSet) String() string { return proto.CompactTextString(m) }
func (*PartialResultSet) ProtoMessage() {}
func (*PartialResultSet) Descriptor() ([]byte, []int) {
return fileDescriptor_e8c1400ddbf24213, []int{1}
}
func (m *PartialResultSet) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PartialResultSet.Unmarshal(m, b)
}
func (m *PartialResultSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PartialResultSet.Marshal(b, m, deterministic)
}
func (m *PartialResultSet) XXX_Merge(src proto.Message) {
xxx_messageInfo_PartialResultSet.Merge(m, src)
}
func (m *PartialResultSet) XXX_Size() int {
return xxx_messageInfo_PartialResultSet.Size(m)
}
func (m *PartialResultSet) XXX_DiscardUnknown() {
xxx_messageInfo_PartialResultSet.DiscardUnknown(m)
}
var xxx_messageInfo_PartialResultSet proto.InternalMessageInfo
func (m *PartialResultSet) GetMetadata() *ResultSetMetadata {
if m != nil {
@@ -168,7 +229,7 @@ func (m *PartialResultSet) GetMetadata() *ResultSetMetadata {
return nil
}
func (m *PartialResultSet) GetValues() []*google_protobuf1.Value {
func (m *PartialResultSet) GetValues() []*_struct.Value {
if m != nil {
return m.Values
}
@@ -206,16 +267,39 @@ type ResultSetMetadata struct {
// { "name": "UserId", "type": { "code": "INT64" } },
// { "name": "UserName", "type": { "code": "STRING" } },
// ]
RowType *StructType `protobuf:"bytes,1,opt,name=row_type,json=rowType" json:"row_type,omitempty"`
RowType *StructType `protobuf:"bytes,1,opt,name=row_type,json=rowType,proto3" json:"row_type,omitempty"`
// If the read or SQL query began a transaction as a side-effect, the
// information about the new transaction is yielded here.
Transaction *Transaction `protobuf:"bytes,2,opt,name=transaction" json:"transaction,omitempty"`
Transaction *Transaction `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResultSetMetadata) Reset() { *m = ResultSetMetadata{} }
func (m *ResultSetMetadata) String() string { return proto.CompactTextString(m) }
func (*ResultSetMetadata) ProtoMessage() {}
func (*ResultSetMetadata) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
func (m *ResultSetMetadata) Reset() { *m = ResultSetMetadata{} }
func (m *ResultSetMetadata) String() string { return proto.CompactTextString(m) }
func (*ResultSetMetadata) ProtoMessage() {}
func (*ResultSetMetadata) Descriptor() ([]byte, []int) {
return fileDescriptor_e8c1400ddbf24213, []int{2}
}
func (m *ResultSetMetadata) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResultSetMetadata.Unmarshal(m, b)
}
func (m *ResultSetMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResultSetMetadata.Marshal(b, m, deterministic)
}
func (m *ResultSetMetadata) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResultSetMetadata.Merge(m, src)
}
func (m *ResultSetMetadata) XXX_Size() int {
return xxx_messageInfo_ResultSetMetadata.Size(m)
}
func (m *ResultSetMetadata) XXX_DiscardUnknown() {
xxx_messageInfo_ResultSetMetadata.DiscardUnknown(m)
}
var xxx_messageInfo_ResultSetMetadata proto.InternalMessageInfo
func (m *ResultSetMetadata) GetRowType() *StructType {
if m != nil {
@@ -234,7 +318,7 @@ func (m *ResultSetMetadata) GetTransaction() *Transaction {
// Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
type ResultSetStats struct {
// [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
QueryPlan *QueryPlan `protobuf:"bytes,1,opt,name=query_plan,json=queryPlan" json:"query_plan,omitempty"`
QueryPlan *QueryPlan `protobuf:"bytes,1,opt,name=query_plan,json=queryPlan,proto3" json:"query_plan,omitempty"`
// Aggregated statistics from the execution of the query. Only present when
// the query is profiled. For example, a query could return the statistics as
// follows:
@@ -244,13 +328,42 @@ type ResultSetStats struct {
// "elapsed_time": "1.22 secs",
// "cpu_time": "1.19 secs"
// }
QueryStats *google_protobuf1.Struct `protobuf:"bytes,2,opt,name=query_stats,json=queryStats" json:"query_stats,omitempty"`
QueryStats *_struct.Struct `protobuf:"bytes,2,opt,name=query_stats,json=queryStats,proto3" json:"query_stats,omitempty"`
// The number of rows modified by the DML statement.
//
// Types that are valid to be assigned to RowCount:
// *ResultSetStats_RowCountExact
// *ResultSetStats_RowCountLowerBound
RowCount isResultSetStats_RowCount `protobuf_oneof:"row_count"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResultSetStats) Reset() { *m = ResultSetStats{} }
func (m *ResultSetStats) String() string { return proto.CompactTextString(m) }
func (*ResultSetStats) ProtoMessage() {}
func (*ResultSetStats) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
func (m *ResultSetStats) Reset() { *m = ResultSetStats{} }
func (m *ResultSetStats) String() string { return proto.CompactTextString(m) }
func (*ResultSetStats) ProtoMessage() {}
func (*ResultSetStats) Descriptor() ([]byte, []int) {
return fileDescriptor_e8c1400ddbf24213, []int{3}
}
func (m *ResultSetStats) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResultSetStats.Unmarshal(m, b)
}
func (m *ResultSetStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResultSetStats.Marshal(b, m, deterministic)
}
func (m *ResultSetStats) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResultSetStats.Merge(m, src)
}
func (m *ResultSetStats) XXX_Size() int {
return xxx_messageInfo_ResultSetStats.Size(m)
}
func (m *ResultSetStats) XXX_DiscardUnknown() {
xxx_messageInfo_ResultSetStats.DiscardUnknown(m)
}
var xxx_messageInfo_ResultSetStats proto.InternalMessageInfo
func (m *ResultSetStats) GetQueryPlan() *QueryPlan {
if m != nil {
@@ -259,13 +372,114 @@ func (m *ResultSetStats) GetQueryPlan() *QueryPlan {
return nil
}
func (m *ResultSetStats) GetQueryStats() *google_protobuf1.Struct {
func (m *ResultSetStats) GetQueryStats() *_struct.Struct {
if m != nil {
return m.QueryStats
}
return nil
}
type isResultSetStats_RowCount interface {
isResultSetStats_RowCount()
}
type ResultSetStats_RowCountExact struct {
RowCountExact int64 `protobuf:"varint,3,opt,name=row_count_exact,json=rowCountExact,proto3,oneof"`
}
type ResultSetStats_RowCountLowerBound struct {
RowCountLowerBound int64 `protobuf:"varint,4,opt,name=row_count_lower_bound,json=rowCountLowerBound,proto3,oneof"`
}
func (*ResultSetStats_RowCountExact) isResultSetStats_RowCount() {}
func (*ResultSetStats_RowCountLowerBound) isResultSetStats_RowCount() {}
func (m *ResultSetStats) GetRowCount() isResultSetStats_RowCount {
if m != nil {
return m.RowCount
}
return nil
}
func (m *ResultSetStats) GetRowCountExact() int64 {
if x, ok := m.GetRowCount().(*ResultSetStats_RowCountExact); ok {
return x.RowCountExact
}
return 0
}
func (m *ResultSetStats) GetRowCountLowerBound() int64 {
if x, ok := m.GetRowCount().(*ResultSetStats_RowCountLowerBound); ok {
return x.RowCountLowerBound
}
return 0
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*ResultSetStats) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _ResultSetStats_OneofMarshaler, _ResultSetStats_OneofUnmarshaler, _ResultSetStats_OneofSizer, []interface{}{
(*ResultSetStats_RowCountExact)(nil),
(*ResultSetStats_RowCountLowerBound)(nil),
}
}
func _ResultSetStats_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*ResultSetStats)
// row_count
switch x := m.RowCount.(type) {
case *ResultSetStats_RowCountExact:
b.EncodeVarint(3<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.RowCountExact))
case *ResultSetStats_RowCountLowerBound:
b.EncodeVarint(4<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.RowCountLowerBound))
case nil:
default:
return fmt.Errorf("ResultSetStats.RowCount has unexpected type %T", x)
}
return nil
}
func _ResultSetStats_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*ResultSetStats)
switch tag {
case 3: // row_count.row_count_exact
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.RowCount = &ResultSetStats_RowCountExact{int64(x)}
return true, err
case 4: // row_count.row_count_lower_bound
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.RowCount = &ResultSetStats_RowCountLowerBound{int64(x)}
return true, err
default:
return false, nil
}
}
func _ResultSetStats_OneofSizer(msg proto.Message) (n int) {
m := msg.(*ResultSetStats)
// row_count
switch x := m.RowCount.(type) {
case *ResultSetStats_RowCountExact:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.RowCountExact))
case *ResultSetStats_RowCountLowerBound:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.RowCountLowerBound))
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
func init() {
proto.RegisterType((*ResultSet)(nil), "google.spanner.v1.ResultSet")
proto.RegisterType((*PartialResultSet)(nil), "google.spanner.v1.PartialResultSet")
@@ -273,40 +487,43 @@ func init() {
proto.RegisterType((*ResultSetStats)(nil), "google.spanner.v1.ResultSetStats")
}
func init() { proto.RegisterFile("google/spanner/v1/result_set.proto", fileDescriptor3) }
func init() { proto.RegisterFile("google/spanner/v1/result_set.proto", fileDescriptor_e8c1400ddbf24213) }
var fileDescriptor3 = []byte{
// 501 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xcd, 0x6e, 0x13, 0x31,
0x14, 0x85, 0xe5, 0xf4, 0x87, 0xd4, 0x13, 0x10, 0xb5, 0x04, 0x1d, 0x45, 0x05, 0xa5, 0x29, 0x8b,
0xac, 0x3c, 0x4a, 0x59, 0x10, 0xa9, 0x9b, 0xaa, 0x2c, 0xd8, 0x80, 0x14, 0x9c, 0x28, 0x0b, 0x14,
0x69, 0xe4, 0x26, 0x66, 0x18, 0x75, 0x62, 0x4f, 0x6d, 0x4f, 0xa2, 0x3c, 0x00, 0x62, 0xc9, 0x9e,
0x47, 0xe0, 0x01, 0x78, 0x08, 0x9e, 0x88, 0x25, 0xf2, 0xcf, 0x24, 0x81, 0x19, 0x21, 0x21, 0x75,
0xe7, 0xf8, 0x7e, 0xe7, 0x9e, 0x7b, 0x3c, 0x37, 0xb0, 0x9b, 0x08, 0x91, 0x64, 0x2c, 0x52, 0x39,
0xe5, 0x9c, 0xc9, 0x68, 0xd9, 0x8f, 0x24, 0x53, 0x45, 0xa6, 0x63, 0xc5, 0x34, 0xce, 0xa5, 0xd0,
0x02, 0x1d, 0x3b, 0x06, 0x7b, 0x06, 0x2f, 0xfb, 0xed, 0x53, 0x2f, 0xa3, 0x79, 0x1a, 0x51, 0xce,
0x85, 0xa6, 0x3a, 0x15, 0x5c, 0x39, 0xc1, 0xa6, 0x6a, 0x7f, 0xdd, 0x14, 0x1f, 0x23, 0xa5, 0x65,
0x31, 0xf3, 0xed, 0xda, 0x35, 0x96, 0x77, 0x05, 0x93, 0xeb, 0x38, 0xcf, 0x28, 0xf7, 0xcc, 0x79,
0x95, 0xd1, 0x92, 0x72, 0x45, 0x67, 0xc6, 0xe7, 0x2f, 0x9b, 0x5d, 0x68, 0x9d, 0x33, 0x57, 0xed,
0xfe, 0x00, 0xf0, 0x88, 0xd8, 0x28, 0x23, 0xa6, 0xd1, 0x15, 0x6c, 0x2e, 0x98, 0xa6, 0x73, 0xaa,
0x69, 0x08, 0x3a, 0xa0, 0x17, 0x5c, 0xbc, 0xc0, 0x95, 0x58, 0x78, 0xc3, 0xbf, 0xf3, 0x2c, 0xd9,
0xa8, 0x10, 0x86, 0xfb, 0x52, 0xac, 0x54, 0xd8, 0xe8, 0xec, 0xf5, 0x82, 0x8b, 0x76, 0xa9, 0x2e,
0x33, 0xe2, 0xb7, 0xa9, 0xd2, 0x13, 0x9a, 0x15, 0x8c, 0x58, 0x0e, 0xbd, 0x82, 0x07, 0x4a, 0x53,
0xad, 0xc2, 0x3d, 0x6b, 0x77, 0xf6, 0x2f, 0xbb, 0x91, 0x01, 0x89, 0xe3, 0xbb, 0x9f, 0x1b, 0xf0,
0xf1, 0x90, 0x4a, 0x9d, 0xd2, 0xec, 0x7e, 0xe7, 0x3f, 0x5c, 0x9a, 0xf1, 0xca, 0x04, 0x4f, 0x2b,
0x09, 0xdc, 0xf4, 0x9e, 0x42, 0xe7, 0xf0, 0xe1, 0xec, 0x53, 0xc1, 0x6f, 0xd9, 0x3c, 0xb6, 0x37,
0x36, 0x47, 0x93, 0xb4, 0xfc, 0xa5, 0x85, 0xd1, 0x19, 0x6c, 0x99, 0x75, 0x59, 0xb0, 0x58, 0x8b,
0x5b, 0xc6, 0xc3, 0xfd, 0x0e, 0xe8, 0xb5, 0x48, 0xe0, 0xee, 0xc6, 0xe6, 0x6a, 0xfb, 0x0e, 0x07,
0xff, 0xf9, 0x0e, 0x5f, 0x01, 0x3c, 0xae, 0x04, 0x42, 0x03, 0xd8, 0x94, 0x62, 0x15, 0x9b, 0x0f,
0xed, 0x1f, 0xe2, 0x59, 0x4d, 0xc7, 0x91, 0x5d, 0xb8, 0xf1, 0x3a, 0x67, 0xe4, 0x81, 0x14, 0x2b,
0x73, 0x40, 0x57, 0x30, 0xd8, 0xd9, 0xa1, 0xb0, 0x61, 0xc5, 0xcf, 0x6b, 0xc4, 0xe3, 0x2d, 0x45,
0x76, 0x25, 0xdd, 0x2f, 0x00, 0x3e, 0xfa, 0x73, 0x56, 0x74, 0x09, 0xe1, 0x76, 0x79, 0xfd, 0x40,
0xa7, 0x35, 0x3d, 0xdf, 0x1b, 0x68, 0x98, 0x51, 0x4e, 0x8e, 0xee, 0xca, 0x23, 0x1a, 0xc0, 0xc0,
0x89, 0xdd, 0x03, 0xb9, 0x89, 0x4e, 0x2a, 0xdf, 0xc5, 0x85, 0x21, 0xce, 0xc8, 0xda, 0x5e, 0x7f,
0x03, 0xf0, 0xc9, 0x4c, 0x2c, 0xaa, 0x46, 0xd7, 0xdb, 0x01, 0x87, 0x46, 0x3f, 0x04, 0x1f, 0x06,
0x1e, 0x4a, 0x44, 0x46, 0x79, 0x82, 0x85, 0x4c, 0xa2, 0x84, 0x71, 0xdb, 0x3d, 0x72, 0x25, 0x9a,
0xa7, 0x6a, 0xe7, 0x5f, 0x74, 0xe9, 0x8f, 0xbf, 0x00, 0xf8, 0xde, 0x38, 0x79, 0xe3, 0xd4, 0xaf,
0x33, 0x51, 0xcc, 0xf1, 0xc8, 0x1b, 0x4d, 0xfa, 0x3f, 0xcb, 0xca, 0xd4, 0x56, 0xa6, 0xbe, 0x32,
0x9d, 0xf4, 0x6f, 0x0e, 0x6d, 0xef, 0x97, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x06, 0x67, 0x6c,
0xee, 0x5c, 0x04, 0x00, 0x00,
var fileDescriptor_e8c1400ddbf24213 = []byte{
// 560 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xcf, 0x6e, 0x13, 0x3f,
0x10, 0xc7, 0x7f, 0x4e, 0xda, 0xfe, 0x12, 0x6f, 0x0a, 0xd4, 0x52, 0x69, 0x14, 0x15, 0x94, 0xa6,
0x1c, 0x72, 0xda, 0x55, 0xda, 0x03, 0x91, 0x7a, 0xa9, 0x52, 0x21, 0x38, 0x14, 0x29, 0x38, 0x51,
0x0e, 0x28, 0xd2, 0xca, 0xd9, 0x98, 0x25, 0xea, 0xc6, 0xde, 0xda, 0xde, 0x84, 0x3c, 0x00, 0x67,
0xee, 0x3c, 0x02, 0x0f, 0xc0, 0x43, 0xf0, 0x3a, 0x5c, 0x38, 0x22, 0xff, 0xd9, 0x24, 0xb0, 0x11,
0x12, 0x12, 0x37, 0xef, 0xcc, 0xe7, 0xeb, 0x99, 0xef, 0x78, 0x16, 0xb6, 0x62, 0xce, 0xe3, 0x84,
0x06, 0x32, 0x25, 0x8c, 0x51, 0x11, 0x2c, 0x3a, 0x81, 0xa0, 0x32, 0x4b, 0x54, 0x28, 0xa9, 0xf2,
0x53, 0xc1, 0x15, 0x47, 0x47, 0x96, 0xf1, 0x1d, 0xe3, 0x2f, 0x3a, 0x8d, 0x53, 0x27, 0x23, 0xe9,
0x2c, 0x20, 0x8c, 0x71, 0x45, 0xd4, 0x8c, 0x33, 0x69, 0x05, 0xeb, 0xac, 0xf9, 0x9a, 0x64, 0xef,
0x02, 0xa9, 0x44, 0x16, 0xb9, 0xeb, 0x1a, 0x3b, 0x4a, 0xde, 0x67, 0x54, 0xac, 0xc2, 0x34, 0x21,
0xcc, 0x31, 0xe7, 0x45, 0x46, 0x09, 0xc2, 0x24, 0x89, 0x74, 0x9d, 0xdf, 0xca, 0x6c, 0x43, 0xab,
0x94, 0xda, 0x6c, 0xeb, 0x2b, 0x80, 0x55, 0x6c, 0xac, 0x0c, 0xa8, 0x42, 0xd7, 0xb0, 0x32, 0xa7,
0x8a, 0x4c, 0x89, 0x22, 0x75, 0xd0, 0x04, 0x6d, 0xef, 0xe2, 0x99, 0x5f, 0xb0, 0xe5, 0xaf, 0xf9,
0xd7, 0x8e, 0xc5, 0x6b, 0x15, 0xf2, 0xe1, 0x9e, 0xe0, 0x4b, 0x59, 0x2f, 0x35, 0xcb, 0x6d, 0xef,
0xa2, 0x91, 0xab, 0x73, 0x8f, 0xfe, 0xed, 0x4c, 0xaa, 0x11, 0x49, 0x32, 0x8a, 0x0d, 0x87, 0x9e,
0xc3, 0x7d, 0xa9, 0x88, 0x92, 0xf5, 0xb2, 0x29, 0x77, 0xf6, 0xa7, 0x72, 0x03, 0x0d, 0x62, 0xcb,
0xb7, 0x3e, 0x96, 0xe0, 0xa3, 0x3e, 0x11, 0x6a, 0x46, 0x92, 0x7f, 0xdb, 0xff, 0xc1, 0x42, 0xb7,
0x97, 0x3b, 0x78, 0x5c, 0x70, 0x60, 0xbb, 0x77, 0x14, 0x3a, 0x87, 0x87, 0xd1, 0xfb, 0x8c, 0xdd,
0xd1, 0x69, 0x68, 0x22, 0xc6, 0x47, 0x05, 0xd7, 0x5c, 0xd0, 0xc0, 0xe8, 0x0c, 0xd6, 0xf4, 0xba,
0xcc, 0x69, 0xa8, 0xf8, 0x1d, 0x65, 0xf5, 0xbd, 0x26, 0x68, 0xd7, 0xb0, 0x67, 0x63, 0x43, 0x1d,
0xda, 0xcc, 0x61, 0xff, 0x2f, 0xe7, 0xf0, 0x09, 0xc0, 0xa3, 0x82, 0x21, 0xd4, 0x85, 0x15, 0xc1,
0x97, 0xa1, 0x7e, 0x68, 0x37, 0x88, 0x27, 0x3b, 0x6e, 0x1c, 0x98, 0x85, 0x1b, 0xae, 0x52, 0x8a,
0xff, 0x17, 0x7c, 0xa9, 0x0f, 0xe8, 0x1a, 0x7a, 0x5b, 0x3b, 0x54, 0x2f, 0x19, 0xf1, 0xd3, 0x1d,
0xe2, 0xe1, 0x86, 0xc2, 0xdb, 0x92, 0xd6, 0x77, 0x00, 0x1f, 0xfc, 0xda, 0x2b, 0xba, 0x82, 0x70,
0xb3, 0xbc, 0xae, 0xa1, 0xd3, 0x1d, 0x77, 0xbe, 0xd1, 0x50, 0x3f, 0x21, 0x0c, 0x57, 0xef, 0xf3,
0x23, 0xea, 0x42, 0xcf, 0x8a, 0xed, 0x80, 0x6c, 0x47, 0x27, 0x85, 0x77, 0xb1, 0x66, 0xb0, 0x2d,
0x64, 0xcb, 0xb6, 0xe1, 0x43, 0x3d, 0x85, 0x88, 0x67, 0x4c, 0x85, 0xf4, 0x03, 0x89, 0x94, 0x79,
0x9e, 0xf2, 0xab, 0xff, 0xf0, 0xa1, 0xe0, 0xcb, 0x1b, 0x1d, 0x7f, 0xa1, 0xc3, 0xe8, 0x12, 0x1e,
0x6f, 0xc8, 0x84, 0x2f, 0xa9, 0x08, 0x27, 0x3c, 0x63, 0x53, 0xf3, 0x54, 0x9a, 0x47, 0x39, 0x7f,
0xab, 0x93, 0x3d, 0x9d, 0xeb, 0x79, 0xb0, 0xba, 0x16, 0xf5, 0x3e, 0x03, 0x78, 0x1c, 0xf1, 0x79,
0xd1, 0x54, 0x6f, 0x33, 0x8c, 0xbe, 0xee, 0xb5, 0x0f, 0xde, 0x76, 0x1d, 0x14, 0xf3, 0x84, 0xb0,
0xd8, 0xe7, 0x22, 0x0e, 0x62, 0xca, 0x8c, 0x93, 0xc0, 0xa6, 0x48, 0x3a, 0x93, 0x5b, 0x7f, 0xec,
0x95, 0x3b, 0xfe, 0x00, 0xe0, 0x4b, 0xe9, 0xe4, 0xa5, 0x55, 0xdf, 0x24, 0x3c, 0x9b, 0xfa, 0x03,
0x57, 0x68, 0xd4, 0xf9, 0x96, 0x67, 0xc6, 0x26, 0x33, 0x76, 0x99, 0xf1, 0xa8, 0x33, 0x39, 0x30,
0x77, 0x5f, 0xfe, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x73, 0xdc, 0x50, 0xf9, 0xc8, 0x04, 0x00, 0x00,
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,18 +3,26 @@
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf2 "github.com/golang/protobuf/ptypes/duration"
import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
duration "github.com/golang/protobuf/ptypes/duration"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
// # Transactions
//
//
@@ -25,7 +33,7 @@ var _ = math.Inf
//
// # Transaction Modes
//
// Cloud Spanner supports two transaction modes:
// Cloud Spanner supports three transaction modes:
//
// 1. Locking read-write. This type of transaction is the only way
// to write data into Cloud Spanner. These transactions rely on
@@ -39,6 +47,13 @@ var _ = math.Inf
// read at timestamps in the past. Snapshot read-only
// transactions do not need to be committed.
//
// 3. Partitioned DML. This type of transaction is used to execute
// a single Partitioned DML statement. Partitioned DML partitions
// the key space and runs the DML statement over each partition
// in parallel using separate, internal transactions that commit
// independently. Partitioned DML transactions do not need to be
// committed.
//
// For transactions that only read, snapshot read-only transactions
// provide simpler semantics and are almost always faster. In
// particular, read-only transactions do not take locks, so they do
@@ -65,11 +80,8 @@ var _ = math.Inf
// inactivity at the client may cause Cloud Spanner to release a
// transaction's locks and abort it.
//
// Reads performed within a transaction acquire locks on the data
// being read. Writes can only be done at commit time, after all reads
// have been completed.
// Conceptually, a read-write transaction consists of zero or more
// reads or SQL queries followed by
// reads or SQL statements followed by
// [Commit][google.spanner.v1.Spanner.Commit]. At any time before
// [Commit][google.spanner.v1.Spanner.Commit], the client can send a
// [Rollback][google.spanner.v1.Spanner.Rollback] request to abort the
@@ -232,33 +244,121 @@ var _ = math.Inf
// restriction also applies to in-progress reads and/or SQL queries whose
// timestamp become too old while executing. Reads and SQL queries with
// too-old read timestamps fail with the error `FAILED_PRECONDITION`.
//
// ## Partitioned DML Transactions
//
// Partitioned DML transactions are used to execute DML statements with a
// different execution strategy that provides different, and often better,
// scalability properties for large, table-wide operations than DML in a
// ReadWrite transaction. Smaller scoped statements, such as an OLTP workload,
// should prefer using ReadWrite transactions.
//
// Partitioned DML partitions the keyspace and runs the DML statement on each
// partition in separate, internal transactions. These transactions commit
// automatically when complete, and run independently from one another.
//
// To reduce lock contention, this execution strategy only acquires read locks
// on rows that match the WHERE clause of the statement. Additionally, the
// smaller per-partition transactions hold locks for less time.
//
// That said, Partitioned DML is not a drop-in replacement for standard DML used
// in ReadWrite transactions.
//
// - The DML statement must be fully-partitionable. Specifically, the statement
// must be expressible as the union of many statements which each access only
// a single row of the table.
//
// - The statement is not applied atomically to all rows of the table. Rather,
// the statement is applied atomically to partitions of the table, in
// independent transactions. Secondary index rows are updated atomically
// with the base table rows.
//
// - Partitioned DML does not guarantee exactly-once execution semantics
// against a partition. The statement will be applied at least once to each
// partition. It is strongly recommended that the DML statement should be
// idempotent to avoid unexpected results. For instance, it is potentially
// dangerous to run a statement such as
// `UPDATE table SET column = column + 1` as it could be run multiple times
// against some rows.
//
// - The partitions are committed automatically - there is no support for
// Commit or Rollback. If the call returns an error, or if the client issuing
// the ExecuteSql call dies, it is possible that some rows had the statement
// executed on them successfully. It is also possible that statement was
// never executed against other rows.
//
// - Partitioned DML transactions may only contain the execution of a single
// DML statement via ExecuteSql or ExecuteStreamingSql.
//
// - If any error is encountered during the execution of the partitioned DML
// operation (for instance, a UNIQUE INDEX violation, division by zero, or a
// value that cannot be stored due to schema constraints), then the
// operation is stopped at that point and an error is returned. It is
// possible that at this point, some partitions have been committed (or even
// committed multiple times), and other partitions have not been run at all.
//
// Given the above, Partitioned DML is good fit for large, database-wide,
// operations that are idempotent, such as deleting old rows from a very large
// table.
type TransactionOptions struct {
// Required. The type of transaction.
//
// Types that are valid to be assigned to Mode:
// *TransactionOptions_ReadWrite_
// *TransactionOptions_PartitionedDml_
// *TransactionOptions_ReadOnly_
Mode isTransactionOptions_Mode `protobuf_oneof:"mode"`
Mode isTransactionOptions_Mode `protobuf_oneof:"mode"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransactionOptions) Reset() { *m = TransactionOptions{} }
func (m *TransactionOptions) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions) ProtoMessage() {}
func (*TransactionOptions) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
func (m *TransactionOptions) Reset() { *m = TransactionOptions{} }
func (m *TransactionOptions) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions) ProtoMessage() {}
func (*TransactionOptions) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{0}
}
func (m *TransactionOptions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionOptions.Unmarshal(m, b)
}
func (m *TransactionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransactionOptions.Marshal(b, m, deterministic)
}
func (m *TransactionOptions) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransactionOptions.Merge(m, src)
}
func (m *TransactionOptions) XXX_Size() int {
return xxx_messageInfo_TransactionOptions.Size(m)
}
func (m *TransactionOptions) XXX_DiscardUnknown() {
xxx_messageInfo_TransactionOptions.DiscardUnknown(m)
}
var xxx_messageInfo_TransactionOptions proto.InternalMessageInfo
type isTransactionOptions_Mode interface {
isTransactionOptions_Mode()
}
type TransactionOptions_ReadWrite_ struct {
ReadWrite *TransactionOptions_ReadWrite `protobuf:"bytes,1,opt,name=read_write,json=readWrite,oneof"`
ReadWrite *TransactionOptions_ReadWrite `protobuf:"bytes,1,opt,name=read_write,json=readWrite,proto3,oneof"`
}
type TransactionOptions_PartitionedDml_ struct {
PartitionedDml *TransactionOptions_PartitionedDml `protobuf:"bytes,3,opt,name=partitioned_dml,json=partitionedDml,proto3,oneof"`
}
type TransactionOptions_ReadOnly_ struct {
ReadOnly *TransactionOptions_ReadOnly `protobuf:"bytes,2,opt,name=read_only,json=readOnly,oneof"`
ReadOnly *TransactionOptions_ReadOnly `protobuf:"bytes,2,opt,name=read_only,json=readOnly,proto3,oneof"`
}
func (*TransactionOptions_ReadWrite_) isTransactionOptions_Mode() {}
func (*TransactionOptions_ReadOnly_) isTransactionOptions_Mode() {}
func (*TransactionOptions_PartitionedDml_) isTransactionOptions_Mode() {}
func (*TransactionOptions_ReadOnly_) isTransactionOptions_Mode() {}
func (m *TransactionOptions) GetMode() isTransactionOptions_Mode {
if m != nil {
@@ -274,6 +374,13 @@ func (m *TransactionOptions) GetReadWrite() *TransactionOptions_ReadWrite {
return nil
}
func (m *TransactionOptions) GetPartitionedDml() *TransactionOptions_PartitionedDml {
if x, ok := m.GetMode().(*TransactionOptions_PartitionedDml_); ok {
return x.PartitionedDml
}
return nil
}
func (m *TransactionOptions) GetReadOnly() *TransactionOptions_ReadOnly {
if x, ok := m.GetMode().(*TransactionOptions_ReadOnly_); ok {
return x.ReadOnly
@@ -285,6 +392,7 @@ func (m *TransactionOptions) GetReadOnly() *TransactionOptions_ReadOnly {
func (*TransactionOptions) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _TransactionOptions_OneofMarshaler, _TransactionOptions_OneofUnmarshaler, _TransactionOptions_OneofSizer, []interface{}{
(*TransactionOptions_ReadWrite_)(nil),
(*TransactionOptions_PartitionedDml_)(nil),
(*TransactionOptions_ReadOnly_)(nil),
}
}
@@ -298,6 +406,11 @@ func _TransactionOptions_OneofMarshaler(msg proto.Message, b *proto.Buffer) erro
if err := b.EncodeMessage(x.ReadWrite); err != nil {
return err
}
case *TransactionOptions_PartitionedDml_:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PartitionedDml); err != nil {
return err
}
case *TransactionOptions_ReadOnly_:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ReadOnly); err != nil {
@@ -321,6 +434,14 @@ func _TransactionOptions_OneofUnmarshaler(msg proto.Message, tag, wire int, b *p
err := b.DecodeMessage(msg)
m.Mode = &TransactionOptions_ReadWrite_{msg}
return true, err
case 3: // mode.partitioned_dml
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TransactionOptions_PartitionedDml)
err := b.DecodeMessage(msg)
m.Mode = &TransactionOptions_PartitionedDml_{msg}
return true, err
case 2: // mode.read_only
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
@@ -340,12 +461,17 @@ func _TransactionOptions_OneofSizer(msg proto.Message) (n int) {
switch x := m.Mode.(type) {
case *TransactionOptions_ReadWrite_:
s := proto.Size(x.ReadWrite)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionOptions_PartitionedDml_:
s := proto.Size(x.PartitionedDml)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionOptions_ReadOnly_:
s := proto.Size(x.ReadOnly)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -358,12 +484,67 @@ func _TransactionOptions_OneofSizer(msg proto.Message) (n int) {
// Message type to initiate a read-write transaction. Currently this
// transaction type has no options.
type TransactionOptions_ReadWrite struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransactionOptions_ReadWrite) Reset() { *m = TransactionOptions_ReadWrite{} }
func (m *TransactionOptions_ReadWrite) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions_ReadWrite) ProtoMessage() {}
func (*TransactionOptions_ReadWrite) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0, 0} }
func (m *TransactionOptions_ReadWrite) Reset() { *m = TransactionOptions_ReadWrite{} }
func (m *TransactionOptions_ReadWrite) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions_ReadWrite) ProtoMessage() {}
func (*TransactionOptions_ReadWrite) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{0, 0}
}
func (m *TransactionOptions_ReadWrite) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionOptions_ReadWrite.Unmarshal(m, b)
}
func (m *TransactionOptions_ReadWrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransactionOptions_ReadWrite.Marshal(b, m, deterministic)
}
func (m *TransactionOptions_ReadWrite) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransactionOptions_ReadWrite.Merge(m, src)
}
func (m *TransactionOptions_ReadWrite) XXX_Size() int {
return xxx_messageInfo_TransactionOptions_ReadWrite.Size(m)
}
func (m *TransactionOptions_ReadWrite) XXX_DiscardUnknown() {
xxx_messageInfo_TransactionOptions_ReadWrite.DiscardUnknown(m)
}
var xxx_messageInfo_TransactionOptions_ReadWrite proto.InternalMessageInfo
// Message type to initiate a Partitioned DML transaction.
type TransactionOptions_PartitionedDml struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransactionOptions_PartitionedDml) Reset() { *m = TransactionOptions_PartitionedDml{} }
func (m *TransactionOptions_PartitionedDml) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions_PartitionedDml) ProtoMessage() {}
func (*TransactionOptions_PartitionedDml) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{0, 1}
}
func (m *TransactionOptions_PartitionedDml) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionOptions_PartitionedDml.Unmarshal(m, b)
}
func (m *TransactionOptions_PartitionedDml) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransactionOptions_PartitionedDml.Marshal(b, m, deterministic)
}
func (m *TransactionOptions_PartitionedDml) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransactionOptions_PartitionedDml.Merge(m, src)
}
func (m *TransactionOptions_PartitionedDml) XXX_Size() int {
return xxx_messageInfo_TransactionOptions_PartitionedDml.Size(m)
}
func (m *TransactionOptions_PartitionedDml) XXX_DiscardUnknown() {
xxx_messageInfo_TransactionOptions_PartitionedDml.DiscardUnknown(m)
}
var xxx_messageInfo_TransactionOptions_PartitionedDml proto.InternalMessageInfo
// Message type to initiate a read-only transaction.
type TransactionOptions_ReadOnly struct {
@@ -378,39 +559,70 @@ type TransactionOptions_ReadOnly struct {
TimestampBound isTransactionOptions_ReadOnly_TimestampBound `protobuf_oneof:"timestamp_bound"`
// If true, the Cloud Spanner-selected read timestamp is included in
// the [Transaction][google.spanner.v1.Transaction] message that describes the transaction.
ReturnReadTimestamp bool `protobuf:"varint,6,opt,name=return_read_timestamp,json=returnReadTimestamp" json:"return_read_timestamp,omitempty"`
ReturnReadTimestamp bool `protobuf:"varint,6,opt,name=return_read_timestamp,json=returnReadTimestamp,proto3" json:"return_read_timestamp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransactionOptions_ReadOnly) Reset() { *m = TransactionOptions_ReadOnly{} }
func (m *TransactionOptions_ReadOnly) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions_ReadOnly) ProtoMessage() {}
func (*TransactionOptions_ReadOnly) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0, 1} }
func (m *TransactionOptions_ReadOnly) Reset() { *m = TransactionOptions_ReadOnly{} }
func (m *TransactionOptions_ReadOnly) String() string { return proto.CompactTextString(m) }
func (*TransactionOptions_ReadOnly) ProtoMessage() {}
func (*TransactionOptions_ReadOnly) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{0, 2}
}
func (m *TransactionOptions_ReadOnly) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionOptions_ReadOnly.Unmarshal(m, b)
}
func (m *TransactionOptions_ReadOnly) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransactionOptions_ReadOnly.Marshal(b, m, deterministic)
}
func (m *TransactionOptions_ReadOnly) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransactionOptions_ReadOnly.Merge(m, src)
}
func (m *TransactionOptions_ReadOnly) XXX_Size() int {
return xxx_messageInfo_TransactionOptions_ReadOnly.Size(m)
}
func (m *TransactionOptions_ReadOnly) XXX_DiscardUnknown() {
xxx_messageInfo_TransactionOptions_ReadOnly.DiscardUnknown(m)
}
var xxx_messageInfo_TransactionOptions_ReadOnly proto.InternalMessageInfo
type isTransactionOptions_ReadOnly_TimestampBound interface {
isTransactionOptions_ReadOnly_TimestampBound()
}
type TransactionOptions_ReadOnly_Strong struct {
Strong bool `protobuf:"varint,1,opt,name=strong,oneof"`
}
type TransactionOptions_ReadOnly_MinReadTimestamp struct {
MinReadTimestamp *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=min_read_timestamp,json=minReadTimestamp,oneof"`
}
type TransactionOptions_ReadOnly_MaxStaleness struct {
MaxStaleness *google_protobuf2.Duration `protobuf:"bytes,3,opt,name=max_staleness,json=maxStaleness,oneof"`
}
type TransactionOptions_ReadOnly_ReadTimestamp struct {
ReadTimestamp *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=read_timestamp,json=readTimestamp,oneof"`
}
type TransactionOptions_ReadOnly_ExactStaleness struct {
ExactStaleness *google_protobuf2.Duration `protobuf:"bytes,5,opt,name=exact_staleness,json=exactStaleness,oneof"`
Strong bool `protobuf:"varint,1,opt,name=strong,proto3,oneof"`
}
func (*TransactionOptions_ReadOnly_Strong) isTransactionOptions_ReadOnly_TimestampBound() {}
type TransactionOptions_ReadOnly_MinReadTimestamp struct {
MinReadTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=min_read_timestamp,json=minReadTimestamp,proto3,oneof"`
}
type TransactionOptions_ReadOnly_MaxStaleness struct {
MaxStaleness *duration.Duration `protobuf:"bytes,3,opt,name=max_staleness,json=maxStaleness,proto3,oneof"`
}
type TransactionOptions_ReadOnly_ReadTimestamp struct {
ReadTimestamp *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_timestamp,json=readTimestamp,proto3,oneof"`
}
type TransactionOptions_ReadOnly_ExactStaleness struct {
ExactStaleness *duration.Duration `protobuf:"bytes,5,opt,name=exact_staleness,json=exactStaleness,proto3,oneof"`
}
func (*TransactionOptions_ReadOnly_Strong) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_MinReadTimestamp) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_MaxStaleness) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_ReadTimestamp) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_ExactStaleness) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_MaxStaleness) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_ReadTimestamp) isTransactionOptions_ReadOnly_TimestampBound() {}
func (*TransactionOptions_ReadOnly_ExactStaleness) isTransactionOptions_ReadOnly_TimestampBound() {}
func (m *TransactionOptions_ReadOnly) GetTimestampBound() isTransactionOptions_ReadOnly_TimestampBound {
if m != nil {
@@ -426,28 +638,28 @@ func (m *TransactionOptions_ReadOnly) GetStrong() bool {
return false
}
func (m *TransactionOptions_ReadOnly) GetMinReadTimestamp() *google_protobuf3.Timestamp {
func (m *TransactionOptions_ReadOnly) GetMinReadTimestamp() *timestamp.Timestamp {
if x, ok := m.GetTimestampBound().(*TransactionOptions_ReadOnly_MinReadTimestamp); ok {
return x.MinReadTimestamp
}
return nil
}
func (m *TransactionOptions_ReadOnly) GetMaxStaleness() *google_protobuf2.Duration {
func (m *TransactionOptions_ReadOnly) GetMaxStaleness() *duration.Duration {
if x, ok := m.GetTimestampBound().(*TransactionOptions_ReadOnly_MaxStaleness); ok {
return x.MaxStaleness
}
return nil
}
func (m *TransactionOptions_ReadOnly) GetReadTimestamp() *google_protobuf3.Timestamp {
func (m *TransactionOptions_ReadOnly) GetReadTimestamp() *timestamp.Timestamp {
if x, ok := m.GetTimestampBound().(*TransactionOptions_ReadOnly_ReadTimestamp); ok {
return x.ReadTimestamp
}
return nil
}
func (m *TransactionOptions_ReadOnly) GetExactStaleness() *google_protobuf2.Duration {
func (m *TransactionOptions_ReadOnly) GetExactStaleness() *duration.Duration {
if x, ok := m.GetTimestampBound().(*TransactionOptions_ReadOnly_ExactStaleness); ok {
return x.ExactStaleness
}
@@ -524,7 +736,7 @@ func _TransactionOptions_ReadOnly_OneofUnmarshaler(msg proto.Message, tag, wire
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf3.Timestamp)
msg := new(timestamp.Timestamp)
err := b.DecodeMessage(msg)
m.TimestampBound = &TransactionOptions_ReadOnly_MinReadTimestamp{msg}
return true, err
@@ -532,7 +744,7 @@ func _TransactionOptions_ReadOnly_OneofUnmarshaler(msg proto.Message, tag, wire
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf2.Duration)
msg := new(duration.Duration)
err := b.DecodeMessage(msg)
m.TimestampBound = &TransactionOptions_ReadOnly_MaxStaleness{msg}
return true, err
@@ -540,7 +752,7 @@ func _TransactionOptions_ReadOnly_OneofUnmarshaler(msg proto.Message, tag, wire
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf3.Timestamp)
msg := new(timestamp.Timestamp)
err := b.DecodeMessage(msg)
m.TimestampBound = &TransactionOptions_ReadOnly_ReadTimestamp{msg}
return true, err
@@ -548,7 +760,7 @@ func _TransactionOptions_ReadOnly_OneofUnmarshaler(msg proto.Message, tag, wire
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(google_protobuf2.Duration)
msg := new(duration.Duration)
err := b.DecodeMessage(msg)
m.TimestampBound = &TransactionOptions_ReadOnly_ExactStaleness{msg}
return true, err
@@ -562,26 +774,26 @@ func _TransactionOptions_ReadOnly_OneofSizer(msg proto.Message) (n int) {
// timestamp_bound
switch x := m.TimestampBound.(type) {
case *TransactionOptions_ReadOnly_Strong:
n += proto.SizeVarint(1<<3 | proto.WireVarint)
n += 1 // tag and wire
n += 1
case *TransactionOptions_ReadOnly_MinReadTimestamp:
s := proto.Size(x.MinReadTimestamp)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionOptions_ReadOnly_MaxStaleness:
s := proto.Size(x.MaxStaleness)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionOptions_ReadOnly_ReadTimestamp:
s := proto.Size(x.ReadTimestamp)
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionOptions_ReadOnly_ExactStaleness:
s := proto.Size(x.ExactStaleness)
n += proto.SizeVarint(5<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -608,13 +820,36 @@ type Transaction struct {
//
// A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
// Example: `"2014-10-02T15:01:23.045123456Z"`.
ReadTimestamp *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=read_timestamp,json=readTimestamp" json:"read_timestamp,omitempty"`
ReadTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=read_timestamp,json=readTimestamp,proto3" json:"read_timestamp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{1}
}
func (m *Transaction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Transaction.Unmarshal(m, b)
}
func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Transaction.Marshal(b, m, deterministic)
}
func (m *Transaction) XXX_Merge(src proto.Message) {
xxx_messageInfo_Transaction.Merge(m, src)
}
func (m *Transaction) XXX_Size() int {
return xxx_messageInfo_Transaction.Size(m)
}
func (m *Transaction) XXX_DiscardUnknown() {
xxx_messageInfo_Transaction.DiscardUnknown(m)
}
var xxx_messageInfo_Transaction proto.InternalMessageInfo
func (m *Transaction) GetId() []byte {
if m != nil {
@@ -623,7 +858,7 @@ func (m *Transaction) GetId() []byte {
return nil
}
func (m *Transaction) GetReadTimestamp() *google_protobuf3.Timestamp {
func (m *Transaction) GetReadTimestamp() *timestamp.Timestamp {
if m != nil {
return m.ReadTimestamp
}
@@ -643,31 +878,58 @@ type TransactionSelector struct {
// *TransactionSelector_SingleUse
// *TransactionSelector_Id
// *TransactionSelector_Begin
Selector isTransactionSelector_Selector `protobuf_oneof:"selector"`
Selector isTransactionSelector_Selector `protobuf_oneof:"selector"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransactionSelector) Reset() { *m = TransactionSelector{} }
func (m *TransactionSelector) String() string { return proto.CompactTextString(m) }
func (*TransactionSelector) ProtoMessage() {}
func (*TransactionSelector) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
func (m *TransactionSelector) Reset() { *m = TransactionSelector{} }
func (m *TransactionSelector) String() string { return proto.CompactTextString(m) }
func (*TransactionSelector) ProtoMessage() {}
func (*TransactionSelector) Descriptor() ([]byte, []int) {
return fileDescriptor_a5743daa0b72b00f, []int{2}
}
func (m *TransactionSelector) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionSelector.Unmarshal(m, b)
}
func (m *TransactionSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransactionSelector.Marshal(b, m, deterministic)
}
func (m *TransactionSelector) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransactionSelector.Merge(m, src)
}
func (m *TransactionSelector) XXX_Size() int {
return xxx_messageInfo_TransactionSelector.Size(m)
}
func (m *TransactionSelector) XXX_DiscardUnknown() {
xxx_messageInfo_TransactionSelector.DiscardUnknown(m)
}
var xxx_messageInfo_TransactionSelector proto.InternalMessageInfo
type isTransactionSelector_Selector interface {
isTransactionSelector_Selector()
}
type TransactionSelector_SingleUse struct {
SingleUse *TransactionOptions `protobuf:"bytes,1,opt,name=single_use,json=singleUse,oneof"`
SingleUse *TransactionOptions `protobuf:"bytes,1,opt,name=single_use,json=singleUse,proto3,oneof"`
}
type TransactionSelector_Id struct {
Id []byte `protobuf:"bytes,2,opt,name=id,proto3,oneof"`
}
type TransactionSelector_Begin struct {
Begin *TransactionOptions `protobuf:"bytes,3,opt,name=begin,oneof"`
Begin *TransactionOptions `protobuf:"bytes,3,opt,name=begin,proto3,oneof"`
}
func (*TransactionSelector_SingleUse) isTransactionSelector_Selector() {}
func (*TransactionSelector_Id) isTransactionSelector_Selector() {}
func (*TransactionSelector_Begin) isTransactionSelector_Selector() {}
func (*TransactionSelector_Id) isTransactionSelector_Selector() {}
func (*TransactionSelector_Begin) isTransactionSelector_Selector() {}
func (m *TransactionSelector) GetSelector() isTransactionSelector_Selector {
if m != nil {
@@ -767,16 +1029,16 @@ func _TransactionSelector_OneofSizer(msg proto.Message) (n int) {
switch x := m.Selector.(type) {
case *TransactionSelector_SingleUse:
s := proto.Size(x.SingleUse)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *TransactionSelector_Id:
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.Id)))
n += len(x.Id)
case *TransactionSelector_Begin:
s := proto.Size(x.Begin)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
@@ -789,47 +1051,52 @@ func _TransactionSelector_OneofSizer(msg proto.Message) (n int) {
func init() {
proto.RegisterType((*TransactionOptions)(nil), "google.spanner.v1.TransactionOptions")
proto.RegisterType((*TransactionOptions_ReadWrite)(nil), "google.spanner.v1.TransactionOptions.ReadWrite")
proto.RegisterType((*TransactionOptions_PartitionedDml)(nil), "google.spanner.v1.TransactionOptions.PartitionedDml")
proto.RegisterType((*TransactionOptions_ReadOnly)(nil), "google.spanner.v1.TransactionOptions.ReadOnly")
proto.RegisterType((*Transaction)(nil), "google.spanner.v1.Transaction")
proto.RegisterType((*TransactionSelector)(nil), "google.spanner.v1.TransactionSelector")
}
func init() { proto.RegisterFile("google/spanner/v1/transaction.proto", fileDescriptor5) }
var fileDescriptor5 = []byte{
// 537 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xd1, 0x8a, 0xd3, 0x40,
0x14, 0x86, 0xd3, 0x6e, 0xb7, 0x74, 0x4f, 0xbb, 0xdd, 0xee, 0x2c, 0x8b, 0x35, 0x88, 0x4a, 0x45,
0xf0, 0x2a, 0xa1, 0xeb, 0x8d, 0x20, 0x82, 0x76, 0x17, 0x0d, 0x82, 0x6c, 0x49, 0xd7, 0x15, 0xa4,
0x10, 0xa7, 0xcd, 0x18, 0x06, 0x92, 0x99, 0x30, 0x33, 0x59, 0xbb, 0xf7, 0xbe, 0x84, 0xaf, 0xe0,
0x23, 0xf8, 0x08, 0xde, 0xf9, 0x46, 0x92, 0xc9, 0xa4, 0xcd, 0x36, 0x17, 0xdb, 0xbb, 0x4c, 0xcf,
0xff, 0xff, 0xe7, 0x9b, 0x73, 0x86, 0xc2, 0xb3, 0x88, 0xf3, 0x28, 0x26, 0xae, 0x4c, 0x31, 0x63,
0x44, 0xb8, 0x37, 0x63, 0x57, 0x09, 0xcc, 0x24, 0x5e, 0x2a, 0xca, 0x99, 0x93, 0x0a, 0xae, 0x38,
0x3a, 0x2e, 0x44, 0x8e, 0x11, 0x39, 0x37, 0x63, 0xfb, 0x91, 0xf1, 0xe1, 0x94, 0xba, 0x98, 0x31,
0xae, 0x70, 0xae, 0x97, 0x85, 0xc1, 0x7e, 0x6c, 0xaa, 0xfa, 0xb4, 0xc8, 0xbe, 0xbb, 0x61, 0x26,
0xf0, 0x26, 0xd0, 0x7e, 0xb2, 0x5d, 0x57, 0x34, 0x21, 0x52, 0xe1, 0x24, 0x2d, 0x04, 0xa3, 0x7f,
0x2d, 0x40, 0x57, 0x1b, 0x8e, 0xcb, 0x54, 0xa7, 0xa3, 0x29, 0x80, 0x20, 0x38, 0x0c, 0x7e, 0x08,
0xaa, 0xc8, 0xb0, 0xf1, 0xb4, 0xf1, 0xa2, 0x7b, 0xe6, 0x3a, 0x35, 0x3a, 0xa7, 0x6e, 0x75, 0x7c,
0x82, 0xc3, 0x2f, 0xb9, 0xcd, 0xb3, 0xfc, 0x03, 0x51, 0x1e, 0xd0, 0x27, 0xd0, 0x87, 0x80, 0xb3,
0xf8, 0x76, 0xd8, 0xd4, 0x81, 0xce, 0xee, 0x81, 0x97, 0x2c, 0xbe, 0xf5, 0x2c, 0xbf, 0x23, 0xcc,
0xb7, 0xdd, 0x85, 0x83, 0x75, 0x23, 0xfb, 0xe7, 0x1e, 0x74, 0x4a, 0x15, 0x1a, 0x42, 0x5b, 0x2a,
0xc1, 0x59, 0xa4, 0xb1, 0x3b, 0x9e, 0xe5, 0x9b, 0x33, 0xfa, 0x08, 0x28, 0xa1, 0x2c, 0xd0, 0x18,
0xeb, 0x39, 0x18, 0x16, 0xbb, 0x64, 0x29, 0x27, 0xe5, 0x5c, 0x95, 0x0a, 0xcf, 0xf2, 0x07, 0x09,
0x65, 0x79, 0x83, 0xf5, 0x6f, 0xe8, 0x2d, 0x1c, 0x26, 0x78, 0x15, 0x48, 0x85, 0x63, 0xc2, 0x88,
0x94, 0xc3, 0x3d, 0x1d, 0xf3, 0xb0, 0x16, 0x73, 0x61, 0x16, 0xe2, 0x59, 0x7e, 0x2f, 0xc1, 0xab,
0x59, 0x69, 0x40, 0xe7, 0xd0, 0xdf, 0x22, 0x69, 0xed, 0x40, 0x72, 0x28, 0xee, 0x60, 0x5c, 0xc0,
0x11, 0x59, 0xe1, 0xa5, 0xaa, 0x80, 0xec, 0xdf, 0x0f, 0xd2, 0xd7, 0x9e, 0x0d, 0xca, 0x19, 0x9c,
0x0a, 0xa2, 0x32, 0x51, 0x9b, 0x4d, 0x3b, 0x9f, 0xa0, 0x7f, 0x52, 0x14, 0xef, 0x0c, 0x60, 0x72,
0x0c, 0x47, 0x6b, 0x5d, 0xb0, 0xe0, 0x19, 0x0b, 0x27, 0x6d, 0x68, 0x25, 0x3c, 0x24, 0xa3, 0x6f,
0xd0, 0xad, 0xac, 0x11, 0xf5, 0xa1, 0x49, 0x43, 0xbd, 0x8c, 0x9e, 0xdf, 0xa4, 0x21, 0x7a, 0x57,
0xbb, 0xf8, 0xbd, 0x2b, 0xd8, 0xba, 0xf6, 0xe8, 0x4f, 0x03, 0x4e, 0x2a, 0x2d, 0x66, 0x24, 0x26,
0x4b, 0xc5, 0x05, 0x7a, 0x0f, 0x20, 0x29, 0x8b, 0x62, 0x12, 0x64, 0xb2, 0x7c, 0xb6, 0xcf, 0x77,
0x7a, 0x65, 0xf9, 0x63, 0x2d, 0xac, 0x9f, 0x25, 0x41, 0x03, 0x8d, 0x9c, 0x63, 0xf5, 0x3c, 0x4b,
0x43, 0xbf, 0x81, 0xfd, 0x05, 0x89, 0x28, 0x33, 0x7b, 0xde, 0x39, 0xb4, 0x70, 0x4d, 0x00, 0x3a,
0xd2, 0x40, 0x4e, 0x7e, 0x35, 0xe0, 0x74, 0xc9, 0x93, 0x7a, 0xc2, 0x64, 0x50, 0x89, 0x98, 0xe6,
0x43, 0x98, 0x36, 0xbe, 0xbe, 0x32, 0xb2, 0x88, 0xc7, 0x98, 0x45, 0x0e, 0x17, 0x91, 0x1b, 0x11,
0xa6, 0x47, 0xe4, 0x16, 0x25, 0x9c, 0x52, 0x59, 0xf9, 0x5b, 0x79, 0x6d, 0x3e, 0x7f, 0x37, 0x1f,
0x7c, 0x28, 0xac, 0xe7, 0x31, 0xcf, 0x42, 0x67, 0x66, 0xfa, 0x5c, 0x8f, 0xff, 0x96, 0x95, 0xb9,
0xae, 0xcc, 0x4d, 0x65, 0x7e, 0x3d, 0x5e, 0xb4, 0x75, 0xf0, 0xcb, 0xff, 0x01, 0x00, 0x00, 0xff,
0xff, 0xa6, 0x28, 0x2f, 0x4a, 0xae, 0x04, 0x00, 0x00,
func init() {
proto.RegisterFile("google/spanner/v1/transaction.proto", fileDescriptor_a5743daa0b72b00f)
}
var fileDescriptor_a5743daa0b72b00f = []byte{
// 573 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xdf, 0x6e, 0xd3, 0x3e,
0x14, 0xc7, 0xd3, 0x6e, 0xab, 0xba, 0xd3, 0xae, 0xed, 0x3c, 0x4d, 0xbf, 0xfe, 0x22, 0x04, 0xa8,
0x08, 0x89, 0xab, 0x44, 0x1d, 0x5c, 0x20, 0x21, 0x24, 0xe8, 0x2a, 0x88, 0x90, 0xd0, 0xaa, 0x74,
0x0c, 0x09, 0x55, 0x0a, 0x6e, 0x63, 0x22, 0x4b, 0x89, 0x1d, 0xd9, 0xce, 0xe8, 0xee, 0x79, 0x09,
0x5e, 0x81, 0x47, 0xe0, 0x9a, 0x2b, 0x9e, 0x0a, 0xc5, 0x71, 0xfa, 0x2f, 0x17, 0xeb, 0x5d, 0xec,
0x73, 0xbe, 0xdf, 0xf3, 0xf1, 0x39, 0x76, 0xe0, 0x49, 0xc4, 0x79, 0x14, 0x13, 0x57, 0xa6, 0x98,
0x31, 0x22, 0xdc, 0xdb, 0xa1, 0xab, 0x04, 0x66, 0x12, 0x2f, 0x14, 0xe5, 0xcc, 0x49, 0x05, 0x57,
0x1c, 0x9d, 0x16, 0x49, 0x8e, 0x49, 0x72, 0x6e, 0x87, 0xf6, 0x03, 0xa3, 0xc3, 0x29, 0x75, 0x31,
0x63, 0x5c, 0xe1, 0x3c, 0x5f, 0x16, 0x02, 0xfb, 0xa1, 0x89, 0xea, 0xd5, 0x3c, 0xfb, 0xe6, 0x86,
0x99, 0xc0, 0x6b, 0x43, 0xfb, 0xd1, 0x6e, 0x5c, 0xd1, 0x84, 0x48, 0x85, 0x93, 0xb4, 0x48, 0x18,
0xfc, 0x39, 0x02, 0x74, 0xbd, 0xe6, 0xb8, 0x4a, 0xb5, 0x3b, 0x9a, 0x00, 0x08, 0x82, 0xc3, 0xe0,
0xbb, 0xa0, 0x8a, 0xf4, 0x6b, 0x8f, 0x6b, 0xcf, 0x5a, 0x17, 0xae, 0x53, 0xa1, 0x73, 0xaa, 0x52,
0xc7, 0x27, 0x38, 0xfc, 0x9c, 0xcb, 0x3c, 0xcb, 0x3f, 0x16, 0xe5, 0x02, 0x05, 0xd0, 0x4d, 0xb1,
0x50, 0x34, 0x4f, 0x22, 0x61, 0x10, 0x26, 0x71, 0xff, 0x40, 0xdb, 0xbe, 0xd8, 0xcf, 0x76, 0xb2,
0x16, 0x8f, 0x93, 0xd8, 0xb3, 0xfc, 0x4e, 0xba, 0xb5, 0x83, 0x3e, 0x82, 0xae, 0x16, 0x70, 0x16,
0xdf, 0xf5, 0xeb, 0xda, 0xda, 0xd9, 0x9f, 0xf8, 0x8a, 0xc5, 0x77, 0x9e, 0xe5, 0x37, 0x85, 0xf9,
0xb6, 0x5b, 0x70, 0xbc, 0x3a, 0x89, 0xdd, 0x83, 0xce, 0x76, 0x7d, 0xfb, 0xc7, 0x01, 0x34, 0x4b,
0x1d, 0xea, 0x43, 0x43, 0x2a, 0xc1, 0x59, 0xa4, 0x3b, 0xd5, 0xf4, 0x2c, 0xdf, 0xac, 0xd1, 0x07,
0x40, 0x09, 0x65, 0x81, 0x06, 0x5b, 0xb5, 0xde, 0xd0, 0xd9, 0x25, 0x5d, 0x39, 0x1c, 0xe7, 0xba,
0xcc, 0xf0, 0x2c, 0xbf, 0x97, 0x50, 0x96, 0x17, 0x58, 0xed, 0xa1, 0x37, 0x70, 0x92, 0xe0, 0x65,
0x20, 0x15, 0x8e, 0x09, 0x23, 0x52, 0x9a, 0xfe, 0xfd, 0x5f, 0xb1, 0x19, 0x9b, 0x3b, 0xe0, 0x59,
0x7e, 0x3b, 0xc1, 0xcb, 0x69, 0x29, 0x40, 0x97, 0xd0, 0xd9, 0x21, 0x39, 0xdc, 0x83, 0xe4, 0x44,
0x6c, 0x61, 0x8c, 0xa1, 0x4b, 0x96, 0x78, 0xa1, 0x36, 0x40, 0x8e, 0xee, 0x07, 0xe9, 0x68, 0xcd,
0x1a, 0xe5, 0x02, 0xce, 0x05, 0x51, 0x99, 0xa8, 0xf4, 0xa6, 0x91, 0x77, 0xd0, 0x3f, 0x2b, 0x82,
0x5b, 0x0d, 0x18, 0x9d, 0x42, 0x77, 0x95, 0x17, 0xcc, 0x79, 0xc6, 0xc2, 0x51, 0x03, 0x0e, 0x13,
0x1e, 0x92, 0xc1, 0x57, 0x68, 0x6d, 0x0c, 0x16, 0x75, 0xa0, 0x4e, 0x43, 0x3d, 0x8c, 0xb6, 0x5f,
0xa7, 0x21, 0x7a, 0x5b, 0x39, 0xf8, 0xbd, 0x23, 0xd8, 0x39, 0xf6, 0xe0, 0x77, 0x0d, 0xce, 0x36,
0x4a, 0x4c, 0x49, 0x4c, 0x16, 0x8a, 0x0b, 0xf4, 0x0e, 0x40, 0x52, 0x16, 0xc5, 0x24, 0xc8, 0x64,
0xf9, 0x52, 0x9e, 0xee, 0x75, 0xef, 0xf2, 0xf7, 0x51, 0x48, 0x3f, 0x49, 0x82, 0x7a, 0x1a, 0x39,
0xc7, 0x6a, 0x7b, 0x96, 0x86, 0x7e, 0x0d, 0x47, 0x73, 0x12, 0x51, 0x66, 0xe6, 0xbc, 0xb7, 0x69,
0xa1, 0x1a, 0x01, 0x34, 0xa5, 0x81, 0x1c, 0xfd, 0xac, 0xc1, 0xf9, 0x82, 0x27, 0x55, 0x87, 0x51,
0x6f, 0xc3, 0x62, 0x92, 0x37, 0x61, 0x52, 0xfb, 0xf2, 0xd2, 0xa4, 0x45, 0x3c, 0xc6, 0x2c, 0x72,
0xb8, 0x88, 0xdc, 0x88, 0x30, 0xdd, 0x22, 0xb7, 0x08, 0xe1, 0x94, 0xca, 0x8d, 0x3f, 0xd9, 0x2b,
0xf3, 0xf9, 0xab, 0xfe, 0xdf, 0xfb, 0x42, 0x7a, 0x19, 0xf3, 0x2c, 0x74, 0xa6, 0xa6, 0xce, 0xcd,
0xf0, 0x6f, 0x19, 0x99, 0xe9, 0xc8, 0xcc, 0x44, 0x66, 0x37, 0xc3, 0x79, 0x43, 0x1b, 0x3f, 0xff,
0x17, 0x00, 0x00, 0xff, 0xff, 0x81, 0xd7, 0x1c, 0x8e, 0x21, 0x05, 0x00, 0x00,
}

View File

@@ -3,16 +3,24 @@
package spanner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
// 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.ProtoPackageIsVersion2 // please upgrade the proto package
// `TypeCode` is used as part of [Type][google.spanner.v1.Type] to
// indicate the type of a Cloud Spanner value.
//
@@ -34,6 +42,12 @@ const (
TypeCode_FLOAT64 TypeCode = 3
// Encoded as `string` in RFC 3339 timestamp format. The time zone
// must be present, and must be `"Z"`.
//
// If the schema has the column option
// `allow_commit_timestamp=true`, the placeholder string
// `"spanner.commit_timestamp()"` can be used to instruct the system
// to insert the commit timestamp associated with the transaction
// commit.
TypeCode_TIMESTAMP TypeCode = 4
// Encoded as `string` in RFC 3339 date format.
TypeCode_DATE TypeCode = 5
@@ -62,6 +76,7 @@ var TypeCode_name = map[int32]string{
8: "ARRAY",
9: "STRUCT",
}
var TypeCode_value = map[string]int32{
"TYPE_CODE_UNSPECIFIED": 0,
"BOOL": 1,
@@ -78,25 +93,51 @@ var TypeCode_value = map[string]int32{
func (x TypeCode) String() string {
return proto.EnumName(TypeCode_name, int32(x))
}
func (TypeCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
func (TypeCode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dc1f2442a7aeba2a, []int{0}
}
// `Type` indicates the type of a Cloud Spanner value, as might be stored in a
// table cell or returned from an SQL query.
type Type struct {
// Required. The [TypeCode][google.spanner.v1.TypeCode] for this type.
Code TypeCode `protobuf:"varint,1,opt,name=code,enum=google.spanner.v1.TypeCode" json:"code,omitempty"`
Code TypeCode `protobuf:"varint,1,opt,name=code,proto3,enum=google.spanner.v1.TypeCode" json:"code,omitempty"`
// If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
// is the type of the array elements.
ArrayElementType *Type `protobuf:"bytes,2,opt,name=array_element_type,json=arrayElementType" json:"array_element_type,omitempty"`
ArrayElementType *Type `protobuf:"bytes,2,opt,name=array_element_type,json=arrayElementType,proto3" json:"array_element_type,omitempty"`
// If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
// provides type information for the struct's fields.
StructType *StructType `protobuf:"bytes,3,opt,name=struct_type,json=structType" json:"struct_type,omitempty"`
StructType *StructType `protobuf:"bytes,3,opt,name=struct_type,json=structType,proto3" json:"struct_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Type) Reset() { *m = Type{} }
func (m *Type) String() string { return proto.CompactTextString(m) }
func (*Type) ProtoMessage() {}
func (*Type) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
func (m *Type) Reset() { *m = Type{} }
func (m *Type) String() string { return proto.CompactTextString(m) }
func (*Type) ProtoMessage() {}
func (*Type) Descriptor() ([]byte, []int) {
return fileDescriptor_dc1f2442a7aeba2a, []int{0}
}
func (m *Type) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Type.Unmarshal(m, b)
}
func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Type.Marshal(b, m, deterministic)
}
func (m *Type) XXX_Merge(src proto.Message) {
xxx_messageInfo_Type.Merge(m, src)
}
func (m *Type) XXX_Size() int {
return xxx_messageInfo_Type.Size(m)
}
func (m *Type) XXX_DiscardUnknown() {
xxx_messageInfo_Type.DiscardUnknown(m)
}
var xxx_messageInfo_Type proto.InternalMessageInfo
func (m *Type) GetCode() TypeCode {
if m != nil {
@@ -127,13 +168,36 @@ type StructType struct {
// fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
// matches the order of columns in a read request, or the order of
// fields in the `SELECT` clause of a query.
Fields []*StructType_Field `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
Fields []*StructType_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StructType) Reset() { *m = StructType{} }
func (m *StructType) String() string { return proto.CompactTextString(m) }
func (*StructType) ProtoMessage() {}
func (*StructType) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
func (m *StructType) Reset() { *m = StructType{} }
func (m *StructType) String() string { return proto.CompactTextString(m) }
func (*StructType) ProtoMessage() {}
func (*StructType) Descriptor() ([]byte, []int) {
return fileDescriptor_dc1f2442a7aeba2a, []int{1}
}
func (m *StructType) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StructType.Unmarshal(m, b)
}
func (m *StructType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StructType.Marshal(b, m, deterministic)
}
func (m *StructType) XXX_Merge(src proto.Message) {
xxx_messageInfo_StructType.Merge(m, src)
}
func (m *StructType) XXX_Size() int {
return xxx_messageInfo_StructType.Size(m)
}
func (m *StructType) XXX_DiscardUnknown() {
xxx_messageInfo_StructType.DiscardUnknown(m)
}
var xxx_messageInfo_StructType proto.InternalMessageInfo
func (m *StructType) GetFields() []*StructType_Field {
if m != nil {
@@ -151,15 +215,38 @@ type StructType_Field struct {
// columns might have an empty name (e.g., !"SELECT
// UPPER(ColName)"`). Note that a query result can contain
// multiple fields with the same name.
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The type of the field.
Type *Type `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"`
Type *Type `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StructType_Field) Reset() { *m = StructType_Field{} }
func (m *StructType_Field) String() string { return proto.CompactTextString(m) }
func (*StructType_Field) ProtoMessage() {}
func (*StructType_Field) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1, 0} }
func (m *StructType_Field) Reset() { *m = StructType_Field{} }
func (m *StructType_Field) String() string { return proto.CompactTextString(m) }
func (*StructType_Field) ProtoMessage() {}
func (*StructType_Field) Descriptor() ([]byte, []int) {
return fileDescriptor_dc1f2442a7aeba2a, []int{1, 0}
}
func (m *StructType_Field) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StructType_Field.Unmarshal(m, b)
}
func (m *StructType_Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StructType_Field.Marshal(b, m, deterministic)
}
func (m *StructType_Field) XXX_Merge(src proto.Message) {
xxx_messageInfo_StructType_Field.Merge(m, src)
}
func (m *StructType_Field) XXX_Size() int {
return xxx_messageInfo_StructType_Field.Size(m)
}
func (m *StructType_Field) XXX_DiscardUnknown() {
xxx_messageInfo_StructType_Field.DiscardUnknown(m)
}
var xxx_messageInfo_StructType_Field proto.InternalMessageInfo
func (m *StructType_Field) GetName() string {
if m != nil {
@@ -176,15 +263,15 @@ func (m *StructType_Field) GetType() *Type {
}
func init() {
proto.RegisterEnum("google.spanner.v1.TypeCode", TypeCode_name, TypeCode_value)
proto.RegisterType((*Type)(nil), "google.spanner.v1.Type")
proto.RegisterType((*StructType)(nil), "google.spanner.v1.StructType")
proto.RegisterType((*StructType_Field)(nil), "google.spanner.v1.StructType.Field")
proto.RegisterEnum("google.spanner.v1.TypeCode", TypeCode_name, TypeCode_value)
}
func init() { proto.RegisterFile("google/spanner/v1/type.proto", fileDescriptor6) }
func init() { proto.RegisterFile("google/spanner/v1/type.proto", fileDescriptor_dc1f2442a7aeba2a) }
var fileDescriptor6 = []byte{
var fileDescriptor_dc1f2442a7aeba2a = []byte{
// 444 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xd1, 0x8a, 0xd3, 0x40,
0x14, 0x86, 0x9d, 0x6d, 0xda, 0x6d, 0x4e, 0x51, 0xc6, 0x81, 0x65, 0xeb, 0xaa, 0x50, 0xd6, 0x9b,