|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592 |
- // Code generated by protoc-gen-go. DO NOT EDIT.
- // source: google/spanner/v1/spanner.proto
-
- package spanner // import "google.golang.org/genproto/googleapis/spanner/v1"
-
- import proto "github.com/golang/protobuf/proto"
- import fmt "fmt"
- import math "math"
- import empty "github.com/golang/protobuf/ptypes/empty"
- import _struct "github.com/golang/protobuf/ptypes/struct"
- import timestamp "github.com/golang/protobuf/ptypes/timestamp"
- import _ "google.golang.org/genproto/googleapis/api/annotations"
- import status "google.golang.org/genproto/googleapis/rpc/status"
-
- import (
- context "golang.org/x/net/context"
- grpc "google.golang.org/grpc"
- )
-
- // 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
-
- // Mode in which the statement must be processed.
- type ExecuteSqlRequest_QueryMode int32
-
- const (
- // The default mode. Only the statement results are returned.
- ExecuteSqlRequest_NORMAL ExecuteSqlRequest_QueryMode = 0
- // This mode returns only the query plan, without any results or
- // execution statistics information.
- ExecuteSqlRequest_PLAN ExecuteSqlRequest_QueryMode = 1
- // This mode returns both the query plan and the execution statistics along
- // with the results.
- ExecuteSqlRequest_PROFILE ExecuteSqlRequest_QueryMode = 2
- )
-
- var ExecuteSqlRequest_QueryMode_name = map[int32]string{
- 0: "NORMAL",
- 1: "PLAN",
- 2: "PROFILE",
- }
- var ExecuteSqlRequest_QueryMode_value = map[string]int32{
- "NORMAL": 0,
- "PLAN": 1,
- "PROFILE": 2,
- }
-
- func (x ExecuteSqlRequest_QueryMode) String() string {
- return proto.EnumName(ExecuteSqlRequest_QueryMode_name, int32(x))
- }
- func (ExecuteSqlRequest_QueryMode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{6, 0}
- }
-
- // The request for [CreateSession][google.spanner.v1.Spanner.CreateSession].
- type CreateSessionRequest struct {
- // Required. The database in which the new session is created.
- Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
- // The session to create.
- Session *Session `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *CreateSessionRequest) Reset() { *m = CreateSessionRequest{} }
- func (m *CreateSessionRequest) String() string { return proto.CompactTextString(m) }
- func (*CreateSessionRequest) ProtoMessage() {}
- func (*CreateSessionRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{0}
- }
- func (m *CreateSessionRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_CreateSessionRequest.Unmarshal(m, b)
- }
- func (m *CreateSessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_CreateSessionRequest.Marshal(b, m, deterministic)
- }
- func (dst *CreateSessionRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CreateSessionRequest.Merge(dst, src)
- }
- func (m *CreateSessionRequest) XXX_Size() int {
- return xxx_messageInfo_CreateSessionRequest.Size(m)
- }
- func (m *CreateSessionRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_CreateSessionRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_CreateSessionRequest proto.InternalMessageInfo
-
- func (m *CreateSessionRequest) GetDatabase() string {
- if m != nil {
- return m.Database
- }
- return ""
- }
-
- func (m *CreateSessionRequest) GetSession() *Session {
- if m != nil {
- return m.Session
- }
- return nil
- }
-
- // A session in the Cloud Spanner API.
- type Session struct {
- // The name of the session. This is always system-assigned; values provided
- // when creating a session are ignored.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The labels for the session.
- //
- // * Label keys must be between 1 and 63 characters long and must conform to
- // the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
- // * Label values must be between 0 and 63 characters long and must conform
- // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
- // * No more than 64 labels can be associated with a given session.
- //
- // See https://goo.gl/xmQnxf for more information on and examples of labels.
- Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Output only. The timestamp when the session is created.
- CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
- // Output only. The approximate timestamp when the session is last used. It is
- // typically earlier than the actual last use time.
- ApproximateLastUseTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=approximate_last_use_time,json=approximateLastUseTime,proto3" json:"approximate_last_use_time,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *Session) Reset() { *m = Session{} }
- func (m *Session) String() string { return proto.CompactTextString(m) }
- func (*Session) ProtoMessage() {}
- func (*Session) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{1}
- }
- func (m *Session) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Session.Unmarshal(m, b)
- }
- func (m *Session) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Session.Marshal(b, m, deterministic)
- }
- func (dst *Session) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Session.Merge(dst, src)
- }
- func (m *Session) XXX_Size() int {
- return xxx_messageInfo_Session.Size(m)
- }
- func (m *Session) XXX_DiscardUnknown() {
- xxx_messageInfo_Session.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_Session proto.InternalMessageInfo
-
- func (m *Session) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
- }
-
- func (m *Session) GetLabels() map[string]string {
- if m != nil {
- return m.Labels
- }
- return nil
- }
-
- func (m *Session) GetCreateTime() *timestamp.Timestamp {
- if m != nil {
- return m.CreateTime
- }
- return nil
- }
-
- func (m *Session) GetApproximateLastUseTime() *timestamp.Timestamp {
- if m != nil {
- return m.ApproximateLastUseTime
- }
- return nil
- }
-
- // The request for [GetSession][google.spanner.v1.Spanner.GetSession].
- type GetSessionRequest struct {
- // Required. The name of the session to retrieve.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *GetSessionRequest) Reset() { *m = GetSessionRequest{} }
- func (m *GetSessionRequest) String() string { return proto.CompactTextString(m) }
- func (*GetSessionRequest) ProtoMessage() {}
- func (*GetSessionRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{2}
- }
- func (m *GetSessionRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_GetSessionRequest.Unmarshal(m, b)
- }
- func (m *GetSessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_GetSessionRequest.Marshal(b, m, deterministic)
- }
- func (dst *GetSessionRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_GetSessionRequest.Merge(dst, src)
- }
- func (m *GetSessionRequest) XXX_Size() int {
- return xxx_messageInfo_GetSessionRequest.Size(m)
- }
- func (m *GetSessionRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_GetSessionRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_GetSessionRequest proto.InternalMessageInfo
-
- func (m *GetSessionRequest) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
- }
-
- // The request for [ListSessions][google.spanner.v1.Spanner.ListSessions].
- type ListSessionsRequest struct {
- // Required. The database in which to list sessions.
- Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
- // Number of sessions to be returned in the response. If 0 or less, defaults
- // to the server's maximum allowed page size.
- PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
- // If non-empty, `page_token` should contain a
- // [next_page_token][google.spanner.v1.ListSessionsResponse.next_page_token]
- // from a previous
- // [ListSessionsResponse][google.spanner.v1.ListSessionsResponse].
- PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
- // An expression for filtering the results of the request. Filter rules are
- // case insensitive. The fields eligible for filtering are:
- //
- // * `labels.key` where key is the name of a label
- //
- // Some examples of using filters are:
- //
- // * `labels.env:*` --> The session has the label "env".
- // * `labels.env:dev` --> The session has the label "env" and the value of
- // the label contains the string "dev".
- Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ListSessionsRequest) Reset() { *m = ListSessionsRequest{} }
- func (m *ListSessionsRequest) String() string { return proto.CompactTextString(m) }
- func (*ListSessionsRequest) ProtoMessage() {}
- func (*ListSessionsRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{3}
- }
- func (m *ListSessionsRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ListSessionsRequest.Unmarshal(m, b)
- }
- func (m *ListSessionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ListSessionsRequest.Marshal(b, m, deterministic)
- }
- func (dst *ListSessionsRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ListSessionsRequest.Merge(dst, src)
- }
- func (m *ListSessionsRequest) XXX_Size() int {
- return xxx_messageInfo_ListSessionsRequest.Size(m)
- }
- func (m *ListSessionsRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_ListSessionsRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ListSessionsRequest proto.InternalMessageInfo
-
- func (m *ListSessionsRequest) GetDatabase() string {
- if m != nil {
- return m.Database
- }
- return ""
- }
-
- func (m *ListSessionsRequest) GetPageSize() int32 {
- if m != nil {
- return m.PageSize
- }
- return 0
- }
-
- func (m *ListSessionsRequest) GetPageToken() string {
- if m != nil {
- return m.PageToken
- }
- return ""
- }
-
- func (m *ListSessionsRequest) GetFilter() string {
- if m != nil {
- return m.Filter
- }
- return ""
- }
-
- // The response for [ListSessions][google.spanner.v1.Spanner.ListSessions].
- type ListSessionsResponse struct {
- // The list of requested sessions.
- Sessions []*Session `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"`
- // `next_page_token` can be sent in a subsequent
- // [ListSessions][google.spanner.v1.Spanner.ListSessions] call to fetch more
- // of the matching sessions.
- NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ListSessionsResponse) Reset() { *m = ListSessionsResponse{} }
- func (m *ListSessionsResponse) String() string { return proto.CompactTextString(m) }
- func (*ListSessionsResponse) ProtoMessage() {}
- func (*ListSessionsResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{4}
- }
- func (m *ListSessionsResponse) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ListSessionsResponse.Unmarshal(m, b)
- }
- func (m *ListSessionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ListSessionsResponse.Marshal(b, m, deterministic)
- }
- func (dst *ListSessionsResponse) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ListSessionsResponse.Merge(dst, src)
- }
- func (m *ListSessionsResponse) XXX_Size() int {
- return xxx_messageInfo_ListSessionsResponse.Size(m)
- }
- func (m *ListSessionsResponse) XXX_DiscardUnknown() {
- xxx_messageInfo_ListSessionsResponse.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ListSessionsResponse proto.InternalMessageInfo
-
- func (m *ListSessionsResponse) GetSessions() []*Session {
- if m != nil {
- return m.Sessions
- }
- return nil
- }
-
- func (m *ListSessionsResponse) GetNextPageToken() string {
- if m != nil {
- return m.NextPageToken
- }
- return ""
- }
-
- // The request for [DeleteSession][google.spanner.v1.Spanner.DeleteSession].
- type DeleteSessionRequest struct {
- // Required. The name of the session to delete.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *DeleteSessionRequest) Reset() { *m = DeleteSessionRequest{} }
- func (m *DeleteSessionRequest) String() string { return proto.CompactTextString(m) }
- func (*DeleteSessionRequest) ProtoMessage() {}
- func (*DeleteSessionRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{5}
- }
- func (m *DeleteSessionRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_DeleteSessionRequest.Unmarshal(m, b)
- }
- func (m *DeleteSessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_DeleteSessionRequest.Marshal(b, m, deterministic)
- }
- func (dst *DeleteSessionRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_DeleteSessionRequest.Merge(dst, src)
- }
- func (m *DeleteSessionRequest) XXX_Size() int {
- return xxx_messageInfo_DeleteSessionRequest.Size(m)
- }
- func (m *DeleteSessionRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_DeleteSessionRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_DeleteSessionRequest proto.InternalMessageInfo
-
- func (m *DeleteSessionRequest) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
- }
-
- // The request for [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and
- // [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql].
- type ExecuteSqlRequest struct {
- // Required. The session in which the SQL query should be performed.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // The transaction to use. If none is provided, the default is a
- // temporary read-only transaction with strong concurrency.
- //
- // The transaction to use.
- //
- // For queries, if none is provided, the default is a temporary read-only
- // transaction with strong concurrency.
- //
- // Standard DML statements require a ReadWrite transaction. Single-use
- // transactions are not supported (to avoid replay). The caller must
- // either supply an existing transaction ID or begin a new transaction.
- //
- // Partitioned DML requires an existing PartitionedDml transaction ID.
- Transaction *TransactionSelector `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
- // Required. The SQL string.
- Sql string `protobuf:"bytes,3,opt,name=sql,proto3" json:"sql,omitempty"`
- // The SQL string can contain parameter placeholders. A parameter
- // placeholder consists of `'@'` followed by the parameter
- // name. Parameter names consist of any combination of letters,
- // numbers, and underscores.
- //
- // Parameters can appear anywhere that a literal value is expected. The same
- // parameter name can be used more than once, for example:
- // `"WHERE id > @msg_id AND id < @msg_id + 100"`
- //
- // It is an error to execute an SQL statement with unbound parameters.
- //
- // Parameter values are specified using `params`, which is a JSON
- // object whose keys are parameter names, and whose values are the
- // corresponding parameter values.
- Params *_struct.Struct `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
- // It is not always possible for Cloud Spanner to infer the right SQL type
- // from a JSON value. For example, values of type `BYTES` and values
- // of type `STRING` both appear in
- // [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
- //
- // In these cases, `param_types` can be used to specify the exact
- // SQL type for some or all of the SQL statement parameters. See the
- // definition of [Type][google.spanner.v1.Type] for more information
- // about SQL types.
- ParamTypes map[string]*Type `protobuf:"bytes,5,rep,name=param_types,json=paramTypes,proto3" json:"param_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // If this request is resuming a previously interrupted SQL statement
- // execution, `resume_token` should be copied from the last
- // [PartialResultSet][google.spanner.v1.PartialResultSet] yielded before the
- // interruption. Doing this enables the new SQL statement execution to resume
- // where the last one left off. The rest of the request parameters must
- // exactly match the request that yielded this token.
- ResumeToken []byte `protobuf:"bytes,6,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
- // Used to control the amount of debugging information returned in
- // [ResultSetStats][google.spanner.v1.ResultSetStats]. If
- // [partition_token][google.spanner.v1.ExecuteSqlRequest.partition_token] is
- // set, [query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] can only
- // be set to
- // [QueryMode.NORMAL][google.spanner.v1.ExecuteSqlRequest.QueryMode.NORMAL].
- QueryMode ExecuteSqlRequest_QueryMode `protobuf:"varint,7,opt,name=query_mode,json=queryMode,proto3,enum=google.spanner.v1.ExecuteSqlRequest_QueryMode" json:"query_mode,omitempty"`
- // If present, results will be restricted to the specified partition
- // previously created using PartitionQuery(). There must be an exact
- // match for the values of fields common to this message and the
- // PartitionQueryRequest message used to create this partition_token.
- PartitionToken []byte `protobuf:"bytes,8,opt,name=partition_token,json=partitionToken,proto3" json:"partition_token,omitempty"`
- // A per-transaction sequence number used to identify this request. This
- // makes each request idempotent such that if the request is received multiple
- // times, at most one will succeed.
- //
- // The sequence number must be monotonically increasing within the
- // transaction. If a request arrives for the first time with an out-of-order
- // sequence number, the transaction may be aborted. Replays of previously
- // handled requests will yield the same response as the first execution.
- //
- // Required for DML statements. Ignored for queries.
- Seqno int64 `protobuf:"varint,9,opt,name=seqno,proto3" json:"seqno,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ExecuteSqlRequest) Reset() { *m = ExecuteSqlRequest{} }
- func (m *ExecuteSqlRequest) String() string { return proto.CompactTextString(m) }
- func (*ExecuteSqlRequest) ProtoMessage() {}
- func (*ExecuteSqlRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{6}
- }
- func (m *ExecuteSqlRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ExecuteSqlRequest.Unmarshal(m, b)
- }
- func (m *ExecuteSqlRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ExecuteSqlRequest.Marshal(b, m, deterministic)
- }
- func (dst *ExecuteSqlRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExecuteSqlRequest.Merge(dst, src)
- }
- func (m *ExecuteSqlRequest) XXX_Size() int {
- return xxx_messageInfo_ExecuteSqlRequest.Size(m)
- }
- func (m *ExecuteSqlRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_ExecuteSqlRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ExecuteSqlRequest proto.InternalMessageInfo
-
- func (m *ExecuteSqlRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *ExecuteSqlRequest) GetTransaction() *TransactionSelector {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *ExecuteSqlRequest) GetSql() string {
- if m != nil {
- return m.Sql
- }
- return ""
- }
-
- func (m *ExecuteSqlRequest) GetParams() *_struct.Struct {
- if m != nil {
- return m.Params
- }
- return nil
- }
-
- func (m *ExecuteSqlRequest) GetParamTypes() map[string]*Type {
- if m != nil {
- return m.ParamTypes
- }
- return nil
- }
-
- func (m *ExecuteSqlRequest) GetResumeToken() []byte {
- if m != nil {
- return m.ResumeToken
- }
- return nil
- }
-
- func (m *ExecuteSqlRequest) GetQueryMode() ExecuteSqlRequest_QueryMode {
- if m != nil {
- return m.QueryMode
- }
- return ExecuteSqlRequest_NORMAL
- }
-
- func (m *ExecuteSqlRequest) GetPartitionToken() []byte {
- if m != nil {
- return m.PartitionToken
- }
- return nil
- }
-
- func (m *ExecuteSqlRequest) GetSeqno() int64 {
- if m != nil {
- return m.Seqno
- }
- return 0
- }
-
- // The request for [ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]
- type ExecuteBatchDmlRequest struct {
- // Required. The session in which the DML statements should be performed.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // The transaction to use. A ReadWrite transaction is required. Single-use
- // transactions are not supported (to avoid replay). The caller must either
- // supply an existing transaction ID or begin a new transaction.
- Transaction *TransactionSelector `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
- // The list of statements to execute in this batch. Statements are executed
- // serially, such that the effects of statement i are visible to statement
- // i+1. Each statement must be a DML statement. Execution will stop at the
- // first failed statement; the remaining statements will not run.
- //
- // REQUIRES: statements_size() > 0.
- Statements []*ExecuteBatchDmlRequest_Statement `protobuf:"bytes,3,rep,name=statements,proto3" json:"statements,omitempty"`
- // A per-transaction sequence number used to identify this request. This is
- // used in the same space as the seqno in
- // [ExecuteSqlRequest][Spanner.ExecuteSqlRequest]. See more details
- // in [ExecuteSqlRequest][Spanner.ExecuteSqlRequest].
- Seqno int64 `protobuf:"varint,4,opt,name=seqno,proto3" json:"seqno,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ExecuteBatchDmlRequest) Reset() { *m = ExecuteBatchDmlRequest{} }
- func (m *ExecuteBatchDmlRequest) String() string { return proto.CompactTextString(m) }
- func (*ExecuteBatchDmlRequest) ProtoMessage() {}
- func (*ExecuteBatchDmlRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{7}
- }
- func (m *ExecuteBatchDmlRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ExecuteBatchDmlRequest.Unmarshal(m, b)
- }
- func (m *ExecuteBatchDmlRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ExecuteBatchDmlRequest.Marshal(b, m, deterministic)
- }
- func (dst *ExecuteBatchDmlRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExecuteBatchDmlRequest.Merge(dst, src)
- }
- func (m *ExecuteBatchDmlRequest) XXX_Size() int {
- return xxx_messageInfo_ExecuteBatchDmlRequest.Size(m)
- }
- func (m *ExecuteBatchDmlRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_ExecuteBatchDmlRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ExecuteBatchDmlRequest proto.InternalMessageInfo
-
- func (m *ExecuteBatchDmlRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *ExecuteBatchDmlRequest) GetTransaction() *TransactionSelector {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *ExecuteBatchDmlRequest) GetStatements() []*ExecuteBatchDmlRequest_Statement {
- if m != nil {
- return m.Statements
- }
- return nil
- }
-
- func (m *ExecuteBatchDmlRequest) GetSeqno() int64 {
- if m != nil {
- return m.Seqno
- }
- return 0
- }
-
- // A single DML statement.
- type ExecuteBatchDmlRequest_Statement struct {
- // Required. The DML string.
- Sql string `protobuf:"bytes,1,opt,name=sql,proto3" json:"sql,omitempty"`
- // The DML string can contain parameter placeholders. A parameter
- // placeholder consists of `'@'` followed by the parameter
- // name. Parameter names consist of any combination of letters,
- // numbers, and underscores.
- //
- // Parameters can appear anywhere that a literal value is expected. The
- // same parameter name can be used more than once, for example:
- // `"WHERE id > @msg_id AND id < @msg_id + 100"`
- //
- // It is an error to execute an SQL statement with unbound parameters.
- //
- // Parameter values are specified using `params`, which is a JSON
- // object whose keys are parameter names, and whose values are the
- // corresponding parameter values.
- Params *_struct.Struct `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
- // It is not always possible for Cloud Spanner to infer the right SQL type
- // from a JSON value. For example, values of type `BYTES` and values
- // of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
- //
- // In these cases, `param_types` can be used to specify the exact
- // SQL type for some or all of the SQL statement parameters. See the
- // definition of [Type][google.spanner.v1.Type] for more information
- // about SQL types.
- ParamTypes map[string]*Type `protobuf:"bytes,3,rep,name=param_types,json=paramTypes,proto3" json:"param_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ExecuteBatchDmlRequest_Statement) Reset() { *m = ExecuteBatchDmlRequest_Statement{} }
- func (m *ExecuteBatchDmlRequest_Statement) String() string { return proto.CompactTextString(m) }
- func (*ExecuteBatchDmlRequest_Statement) ProtoMessage() {}
- func (*ExecuteBatchDmlRequest_Statement) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{7, 0}
- }
- func (m *ExecuteBatchDmlRequest_Statement) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ExecuteBatchDmlRequest_Statement.Unmarshal(m, b)
- }
- func (m *ExecuteBatchDmlRequest_Statement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ExecuteBatchDmlRequest_Statement.Marshal(b, m, deterministic)
- }
- func (dst *ExecuteBatchDmlRequest_Statement) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExecuteBatchDmlRequest_Statement.Merge(dst, src)
- }
- func (m *ExecuteBatchDmlRequest_Statement) XXX_Size() int {
- return xxx_messageInfo_ExecuteBatchDmlRequest_Statement.Size(m)
- }
- func (m *ExecuteBatchDmlRequest_Statement) XXX_DiscardUnknown() {
- xxx_messageInfo_ExecuteBatchDmlRequest_Statement.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ExecuteBatchDmlRequest_Statement proto.InternalMessageInfo
-
- func (m *ExecuteBatchDmlRequest_Statement) GetSql() string {
- if m != nil {
- return m.Sql
- }
- return ""
- }
-
- func (m *ExecuteBatchDmlRequest_Statement) GetParams() *_struct.Struct {
- if m != nil {
- return m.Params
- }
- return nil
- }
-
- func (m *ExecuteBatchDmlRequest_Statement) GetParamTypes() map[string]*Type {
- if m != nil {
- return m.ParamTypes
- }
- return nil
- }
-
- // The response for [ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]. Contains a list
- // of [ResultSet][google.spanner.v1.ResultSet], one for each DML statement that has successfully executed.
- // If a statement fails, the error is returned as part of the response payload.
- // Clients can determine whether all DML statements have run successfully, or if
- // a statement failed, using one of the following approaches:
- //
- // 1. Check if 'status' field is OkStatus.
- // 2. Check if result_sets_size() equals the number of statements in
- // [ExecuteBatchDmlRequest][Spanner.ExecuteBatchDmlRequest].
- //
- // Example 1: A request with 5 DML statements, all executed successfully.
- // Result: A response with 5 ResultSets, one for each statement in the same
- // order, and an OK status.
- //
- // Example 2: A request with 5 DML statements. The 3rd statement has a syntax
- // error.
- // Result: A response with 2 ResultSets, for the first 2 statements that
- // run successfully, and a syntax error (INVALID_ARGUMENT) status. From
- // result_set_size() client can determine that the 3rd statement has failed.
- type ExecuteBatchDmlResponse struct {
- // ResultSets, one for each statement in the request that ran successfully, in
- // the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] will
- // not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] will
- // contain the number of rows modified by the statement.
- //
- // Only the first ResultSet in the response contains a valid
- // [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
- ResultSets []*ResultSet `protobuf:"bytes,1,rep,name=result_sets,json=resultSets,proto3" json:"result_sets,omitempty"`
- // If all DML statements are executed successfully, status will be OK.
- // Otherwise, the error status of the first failed statement.
- Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ExecuteBatchDmlResponse) Reset() { *m = ExecuteBatchDmlResponse{} }
- func (m *ExecuteBatchDmlResponse) String() string { return proto.CompactTextString(m) }
- func (*ExecuteBatchDmlResponse) ProtoMessage() {}
- func (*ExecuteBatchDmlResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{8}
- }
- func (m *ExecuteBatchDmlResponse) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ExecuteBatchDmlResponse.Unmarshal(m, b)
- }
- func (m *ExecuteBatchDmlResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ExecuteBatchDmlResponse.Marshal(b, m, deterministic)
- }
- func (dst *ExecuteBatchDmlResponse) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExecuteBatchDmlResponse.Merge(dst, src)
- }
- func (m *ExecuteBatchDmlResponse) XXX_Size() int {
- return xxx_messageInfo_ExecuteBatchDmlResponse.Size(m)
- }
- func (m *ExecuteBatchDmlResponse) XXX_DiscardUnknown() {
- xxx_messageInfo_ExecuteBatchDmlResponse.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ExecuteBatchDmlResponse proto.InternalMessageInfo
-
- func (m *ExecuteBatchDmlResponse) GetResultSets() []*ResultSet {
- if m != nil {
- return m.ResultSets
- }
- return nil
- }
-
- func (m *ExecuteBatchDmlResponse) GetStatus() *status.Status {
- if m != nil {
- return m.Status
- }
- return nil
- }
-
- // Options for a PartitionQueryRequest and
- // PartitionReadRequest.
- type PartitionOptions struct {
- // **Note:** This hint is currently ignored by PartitionQuery and
- // PartitionRead requests.
- //
- // The desired data size for each partition generated. The default for this
- // option is currently 1 GiB. This is only a hint. The actual size of each
- // partition may be smaller or larger than this size request.
- PartitionSizeBytes int64 `protobuf:"varint,1,opt,name=partition_size_bytes,json=partitionSizeBytes,proto3" json:"partition_size_bytes,omitempty"`
- // **Note:** This hint is currently ignored by PartitionQuery and
- // PartitionRead requests.
- //
- // The desired maximum number of partitions to return. For example, this may
- // be set to the number of workers available. The default for this option
- // is currently 10,000. The maximum value is currently 200,000. This is only
- // a hint. The actual number of partitions returned may be smaller or larger
- // than this maximum count request.
- MaxPartitions int64 `protobuf:"varint,2,opt,name=max_partitions,json=maxPartitions,proto3" json:"max_partitions,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *PartitionOptions) Reset() { *m = PartitionOptions{} }
- func (m *PartitionOptions) String() string { return proto.CompactTextString(m) }
- func (*PartitionOptions) ProtoMessage() {}
- func (*PartitionOptions) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{9}
- }
- func (m *PartitionOptions) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_PartitionOptions.Unmarshal(m, b)
- }
- func (m *PartitionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_PartitionOptions.Marshal(b, m, deterministic)
- }
- func (dst *PartitionOptions) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PartitionOptions.Merge(dst, src)
- }
- func (m *PartitionOptions) XXX_Size() int {
- return xxx_messageInfo_PartitionOptions.Size(m)
- }
- func (m *PartitionOptions) XXX_DiscardUnknown() {
- xxx_messageInfo_PartitionOptions.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_PartitionOptions proto.InternalMessageInfo
-
- func (m *PartitionOptions) GetPartitionSizeBytes() int64 {
- if m != nil {
- return m.PartitionSizeBytes
- }
- return 0
- }
-
- func (m *PartitionOptions) GetMaxPartitions() int64 {
- if m != nil {
- return m.MaxPartitions
- }
- return 0
- }
-
- // The request for [PartitionQuery][google.spanner.v1.Spanner.PartitionQuery]
- type PartitionQueryRequest struct {
- // Required. The session used to create the partitions.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // Read only snapshot transactions are supported, read/write and single use
- // transactions are not.
- Transaction *TransactionSelector `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
- // The query request to generate partitions for. The request will fail if
- // the query is not root partitionable. The query plan of a root
- // partitionable query has a single distributed union operator. A distributed
- // union operator conceptually divides one or more tables into multiple
- // splits, remotely evaluates a subquery independently on each split, and
- // then unions all results.
- //
- // This must not contain DML commands, such as INSERT, UPDATE, or
- // DELETE. Use
- // [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
- // PartitionedDml transaction for large, partition-friendly DML operations.
- Sql string `protobuf:"bytes,3,opt,name=sql,proto3" json:"sql,omitempty"`
- // The SQL query string can contain parameter placeholders. A parameter
- // placeholder consists of `'@'` followed by the parameter
- // name. Parameter names consist of any combination of letters,
- // numbers, and underscores.
- //
- // Parameters can appear anywhere that a literal value is expected. The same
- // parameter name can be used more than once, for example:
- // `"WHERE id > @msg_id AND id < @msg_id + 100"`
- //
- // It is an error to execute an SQL query with unbound parameters.
- //
- // Parameter values are specified using `params`, which is a JSON
- // object whose keys are parameter names, and whose values are the
- // corresponding parameter values.
- Params *_struct.Struct `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
- // It is not always possible for Cloud Spanner to infer the right SQL type
- // from a JSON value. For example, values of type `BYTES` and values
- // of type `STRING` both appear in
- // [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
- //
- // In these cases, `param_types` can be used to specify the exact
- // SQL type for some or all of the SQL query parameters. See the
- // definition of [Type][google.spanner.v1.Type] for more information
- // about SQL types.
- ParamTypes map[string]*Type `protobuf:"bytes,5,rep,name=param_types,json=paramTypes,proto3" json:"param_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Additional options that affect how many partitions are created.
- PartitionOptions *PartitionOptions `protobuf:"bytes,6,opt,name=partition_options,json=partitionOptions,proto3" json:"partition_options,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *PartitionQueryRequest) Reset() { *m = PartitionQueryRequest{} }
- func (m *PartitionQueryRequest) String() string { return proto.CompactTextString(m) }
- func (*PartitionQueryRequest) ProtoMessage() {}
- func (*PartitionQueryRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{10}
- }
- func (m *PartitionQueryRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_PartitionQueryRequest.Unmarshal(m, b)
- }
- func (m *PartitionQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_PartitionQueryRequest.Marshal(b, m, deterministic)
- }
- func (dst *PartitionQueryRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PartitionQueryRequest.Merge(dst, src)
- }
- func (m *PartitionQueryRequest) XXX_Size() int {
- return xxx_messageInfo_PartitionQueryRequest.Size(m)
- }
- func (m *PartitionQueryRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_PartitionQueryRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_PartitionQueryRequest proto.InternalMessageInfo
-
- func (m *PartitionQueryRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *PartitionQueryRequest) GetTransaction() *TransactionSelector {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *PartitionQueryRequest) GetSql() string {
- if m != nil {
- return m.Sql
- }
- return ""
- }
-
- func (m *PartitionQueryRequest) GetParams() *_struct.Struct {
- if m != nil {
- return m.Params
- }
- return nil
- }
-
- func (m *PartitionQueryRequest) GetParamTypes() map[string]*Type {
- if m != nil {
- return m.ParamTypes
- }
- return nil
- }
-
- func (m *PartitionQueryRequest) GetPartitionOptions() *PartitionOptions {
- if m != nil {
- return m.PartitionOptions
- }
- return nil
- }
-
- // The request for [PartitionRead][google.spanner.v1.Spanner.PartitionRead]
- type PartitionReadRequest struct {
- // Required. The session used to create the partitions.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // Read only snapshot transactions are supported, read/write and single use
- // transactions are not.
- Transaction *TransactionSelector `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
- // Required. The name of the table in the database to be read.
- Table string `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
- // If non-empty, the name of an index on
- // [table][google.spanner.v1.PartitionReadRequest.table]. This index is used
- // instead of the table primary key when interpreting
- // [key_set][google.spanner.v1.PartitionReadRequest.key_set] and sorting
- // result rows. See [key_set][google.spanner.v1.PartitionReadRequest.key_set]
- // for further information.
- Index string `protobuf:"bytes,4,opt,name=index,proto3" json:"index,omitempty"`
- // The columns of [table][google.spanner.v1.PartitionReadRequest.table] to be
- // returned for each row matching this request.
- Columns []string `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"`
- // Required. `key_set` identifies the rows to be yielded. `key_set` names the
- // primary keys of the rows in
- // [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless
- // [index][google.spanner.v1.PartitionReadRequest.index] is present. If
- // [index][google.spanner.v1.PartitionReadRequest.index] is present, then
- // [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
- // index keys in [index][google.spanner.v1.PartitionReadRequest.index].
- //
- // It is not an error for the `key_set` to name rows that do not
- // exist in the database. Read yields nothing for nonexistent rows.
- KeySet *KeySet `protobuf:"bytes,6,opt,name=key_set,json=keySet,proto3" json:"key_set,omitempty"`
- // Additional options that affect how many partitions are created.
- PartitionOptions *PartitionOptions `protobuf:"bytes,9,opt,name=partition_options,json=partitionOptions,proto3" json:"partition_options,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *PartitionReadRequest) Reset() { *m = PartitionReadRequest{} }
- func (m *PartitionReadRequest) String() string { return proto.CompactTextString(m) }
- func (*PartitionReadRequest) ProtoMessage() {}
- func (*PartitionReadRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{11}
- }
- func (m *PartitionReadRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_PartitionReadRequest.Unmarshal(m, b)
- }
- func (m *PartitionReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_PartitionReadRequest.Marshal(b, m, deterministic)
- }
- func (dst *PartitionReadRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PartitionReadRequest.Merge(dst, src)
- }
- func (m *PartitionReadRequest) XXX_Size() int {
- return xxx_messageInfo_PartitionReadRequest.Size(m)
- }
- func (m *PartitionReadRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_PartitionReadRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_PartitionReadRequest proto.InternalMessageInfo
-
- func (m *PartitionReadRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *PartitionReadRequest) GetTransaction() *TransactionSelector {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *PartitionReadRequest) GetTable() string {
- if m != nil {
- return m.Table
- }
- return ""
- }
-
- func (m *PartitionReadRequest) GetIndex() string {
- if m != nil {
- return m.Index
- }
- return ""
- }
-
- func (m *PartitionReadRequest) GetColumns() []string {
- if m != nil {
- return m.Columns
- }
- return nil
- }
-
- func (m *PartitionReadRequest) GetKeySet() *KeySet {
- if m != nil {
- return m.KeySet
- }
- return nil
- }
-
- func (m *PartitionReadRequest) GetPartitionOptions() *PartitionOptions {
- if m != nil {
- return m.PartitionOptions
- }
- return nil
- }
-
- // Information returned for each partition returned in a
- // PartitionResponse.
- type Partition struct {
- // This token can be passed to Read, StreamingRead, ExecuteSql, or
- // ExecuteStreamingSql requests to restrict the results to those identified by
- // this partition token.
- PartitionToken []byte `protobuf:"bytes,1,opt,name=partition_token,json=partitionToken,proto3" json:"partition_token,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *Partition) Reset() { *m = Partition{} }
- func (m *Partition) String() string { return proto.CompactTextString(m) }
- func (*Partition) ProtoMessage() {}
- func (*Partition) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{12}
- }
- func (m *Partition) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Partition.Unmarshal(m, b)
- }
- func (m *Partition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Partition.Marshal(b, m, deterministic)
- }
- func (dst *Partition) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Partition.Merge(dst, src)
- }
- func (m *Partition) XXX_Size() int {
- return xxx_messageInfo_Partition.Size(m)
- }
- func (m *Partition) XXX_DiscardUnknown() {
- xxx_messageInfo_Partition.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_Partition proto.InternalMessageInfo
-
- func (m *Partition) GetPartitionToken() []byte {
- if m != nil {
- return m.PartitionToken
- }
- return nil
- }
-
- // The response for [PartitionQuery][google.spanner.v1.Spanner.PartitionQuery]
- // or [PartitionRead][google.spanner.v1.Spanner.PartitionRead]
- type PartitionResponse struct {
- // Partitions created by this request.
- Partitions []*Partition `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
- // Transaction created by this request.
- 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 *PartitionResponse) Reset() { *m = PartitionResponse{} }
- func (m *PartitionResponse) String() string { return proto.CompactTextString(m) }
- func (*PartitionResponse) ProtoMessage() {}
- func (*PartitionResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{13}
- }
- func (m *PartitionResponse) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_PartitionResponse.Unmarshal(m, b)
- }
- func (m *PartitionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_PartitionResponse.Marshal(b, m, deterministic)
- }
- func (dst *PartitionResponse) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PartitionResponse.Merge(dst, src)
- }
- func (m *PartitionResponse) XXX_Size() int {
- return xxx_messageInfo_PartitionResponse.Size(m)
- }
- func (m *PartitionResponse) XXX_DiscardUnknown() {
- xxx_messageInfo_PartitionResponse.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_PartitionResponse proto.InternalMessageInfo
-
- func (m *PartitionResponse) GetPartitions() []*Partition {
- if m != nil {
- return m.Partitions
- }
- return nil
- }
-
- func (m *PartitionResponse) GetTransaction() *Transaction {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- // The request for [Read][google.spanner.v1.Spanner.Read] and
- // [StreamingRead][google.spanner.v1.Spanner.StreamingRead].
- type ReadRequest struct {
- // Required. The session in which the read should be performed.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // The transaction to use. If none is provided, the default is a
- // temporary read-only transaction with strong concurrency.
- Transaction *TransactionSelector `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
- // Required. The name of the table in the database to be read.
- Table string `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
- // If non-empty, the name of an index on
- // [table][google.spanner.v1.ReadRequest.table]. This index is used instead of
- // the table primary key when interpreting
- // [key_set][google.spanner.v1.ReadRequest.key_set] and sorting result rows.
- // See [key_set][google.spanner.v1.ReadRequest.key_set] for further
- // information.
- Index string `protobuf:"bytes,4,opt,name=index,proto3" json:"index,omitempty"`
- // The columns of [table][google.spanner.v1.ReadRequest.table] to be returned
- // for each row matching this request.
- Columns []string `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"`
- // Required. `key_set` identifies the rows to be yielded. `key_set` names the
- // primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to
- // be yielded, unless [index][google.spanner.v1.ReadRequest.index] is present.
- // If [index][google.spanner.v1.ReadRequest.index] is present, then
- // [key_set][google.spanner.v1.ReadRequest.key_set] instead names index keys
- // in [index][google.spanner.v1.ReadRequest.index].
- //
- // If the [partition_token][google.spanner.v1.ReadRequest.partition_token]
- // field is empty, rows are yielded in table primary key order (if
- // [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
- // (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the
- // [partition_token][google.spanner.v1.ReadRequest.partition_token] field is
- // not empty, rows will be yielded in an unspecified order.
- //
- // It is not an error for the `key_set` to name rows that do not
- // exist in the database. Read yields nothing for nonexistent rows.
- KeySet *KeySet `protobuf:"bytes,6,opt,name=key_set,json=keySet,proto3" json:"key_set,omitempty"`
- // If greater than zero, only the first `limit` rows are yielded. If `limit`
- // is zero, the default is no limit. A limit cannot be specified if
- // `partition_token` is set.
- Limit int64 `protobuf:"varint,8,opt,name=limit,proto3" json:"limit,omitempty"`
- // If this request is resuming a previously interrupted read,
- // `resume_token` should be copied from the last
- // [PartialResultSet][google.spanner.v1.PartialResultSet] yielded before the
- // interruption. Doing this enables the new read to resume where the last read
- // left off. The rest of the request parameters must exactly match the request
- // that yielded this token.
- ResumeToken []byte `protobuf:"bytes,9,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
- // If present, results will be restricted to the specified partition
- // previously created using PartitionRead(). There must be an exact
- // match for the values of fields common to this message and the
- // PartitionReadRequest message used to create this partition_token.
- PartitionToken []byte `protobuf:"bytes,10,opt,name=partition_token,json=partitionToken,proto3" json:"partition_token,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *ReadRequest) Reset() { *m = ReadRequest{} }
- func (m *ReadRequest) String() string { return proto.CompactTextString(m) }
- func (*ReadRequest) ProtoMessage() {}
- func (*ReadRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{14}
- }
- func (m *ReadRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReadRequest.Unmarshal(m, b)
- }
- func (m *ReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReadRequest.Marshal(b, m, deterministic)
- }
- func (dst *ReadRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReadRequest.Merge(dst, src)
- }
- func (m *ReadRequest) XXX_Size() int {
- return xxx_messageInfo_ReadRequest.Size(m)
- }
- func (m *ReadRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_ReadRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_ReadRequest proto.InternalMessageInfo
-
- func (m *ReadRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *ReadRequest) GetTransaction() *TransactionSelector {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *ReadRequest) GetTable() string {
- if m != nil {
- return m.Table
- }
- return ""
- }
-
- func (m *ReadRequest) GetIndex() string {
- if m != nil {
- return m.Index
- }
- return ""
- }
-
- func (m *ReadRequest) GetColumns() []string {
- if m != nil {
- return m.Columns
- }
- return nil
- }
-
- func (m *ReadRequest) GetKeySet() *KeySet {
- if m != nil {
- return m.KeySet
- }
- return nil
- }
-
- func (m *ReadRequest) GetLimit() int64 {
- if m != nil {
- return m.Limit
- }
- return 0
- }
-
- func (m *ReadRequest) GetResumeToken() []byte {
- if m != nil {
- return m.ResumeToken
- }
- return nil
- }
-
- func (m *ReadRequest) GetPartitionToken() []byte {
- if m != nil {
- return m.PartitionToken
- }
- return nil
- }
-
- // The request for
- // [BeginTransaction][google.spanner.v1.Spanner.BeginTransaction].
- type BeginTransactionRequest struct {
- // Required. The session in which the transaction runs.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // Required. Options for the new transaction.
- Options *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest{} }
- func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) }
- func (*BeginTransactionRequest) ProtoMessage() {}
- func (*BeginTransactionRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{15}
- }
- func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_BeginTransactionRequest.Unmarshal(m, b)
- }
- func (m *BeginTransactionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_BeginTransactionRequest.Marshal(b, m, deterministic)
- }
- func (dst *BeginTransactionRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_BeginTransactionRequest.Merge(dst, src)
- }
- func (m *BeginTransactionRequest) XXX_Size() int {
- return xxx_messageInfo_BeginTransactionRequest.Size(m)
- }
- func (m *BeginTransactionRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_BeginTransactionRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_BeginTransactionRequest proto.InternalMessageInfo
-
- func (m *BeginTransactionRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *BeginTransactionRequest) GetOptions() *TransactionOptions {
- if m != nil {
- return m.Options
- }
- return nil
- }
-
- // The request for [Commit][google.spanner.v1.Spanner.Commit].
- type CommitRequest struct {
- // Required. The session in which the transaction to be committed is running.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // Required. The transaction in which to commit.
- //
- // Types that are valid to be assigned to Transaction:
- // *CommitRequest_TransactionId
- // *CommitRequest_SingleUseTransaction
- Transaction isCommitRequest_Transaction `protobuf_oneof:"transaction"`
- // The mutations to be executed when this transaction commits. All
- // mutations are applied atomically, in the order they appear in
- // this list.
- Mutations []*Mutation `protobuf:"bytes,4,rep,name=mutations,proto3" json:"mutations,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *CommitRequest) Reset() { *m = CommitRequest{} }
- func (m *CommitRequest) String() string { return proto.CompactTextString(m) }
- func (*CommitRequest) ProtoMessage() {}
- func (*CommitRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{16}
- }
- func (m *CommitRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_CommitRequest.Unmarshal(m, b)
- }
- func (m *CommitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_CommitRequest.Marshal(b, m, deterministic)
- }
- func (dst *CommitRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CommitRequest.Merge(dst, src)
- }
- func (m *CommitRequest) XXX_Size() int {
- return xxx_messageInfo_CommitRequest.Size(m)
- }
- func (m *CommitRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_CommitRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_CommitRequest proto.InternalMessageInfo
-
- func (m *CommitRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- type isCommitRequest_Transaction interface {
- isCommitRequest_Transaction()
- }
-
- type CommitRequest_TransactionId struct {
- TransactionId []byte `protobuf:"bytes,2,opt,name=transaction_id,json=transactionId,proto3,oneof"`
- }
-
- type CommitRequest_SingleUseTransaction struct {
- SingleUseTransaction *TransactionOptions `protobuf:"bytes,3,opt,name=single_use_transaction,json=singleUseTransaction,proto3,oneof"`
- }
-
- func (*CommitRequest_TransactionId) isCommitRequest_Transaction() {}
-
- func (*CommitRequest_SingleUseTransaction) isCommitRequest_Transaction() {}
-
- func (m *CommitRequest) GetTransaction() isCommitRequest_Transaction {
- if m != nil {
- return m.Transaction
- }
- return nil
- }
-
- func (m *CommitRequest) GetTransactionId() []byte {
- if x, ok := m.GetTransaction().(*CommitRequest_TransactionId); ok {
- return x.TransactionId
- }
- return nil
- }
-
- func (m *CommitRequest) GetSingleUseTransaction() *TransactionOptions {
- if x, ok := m.GetTransaction().(*CommitRequest_SingleUseTransaction); ok {
- return x.SingleUseTransaction
- }
- return nil
- }
-
- func (m *CommitRequest) GetMutations() []*Mutation {
- if m != nil {
- return m.Mutations
- }
- return nil
- }
-
- // XXX_OneofFuncs is for the internal use of the proto package.
- func (*CommitRequest) 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 _CommitRequest_OneofMarshaler, _CommitRequest_OneofUnmarshaler, _CommitRequest_OneofSizer, []interface{}{
- (*CommitRequest_TransactionId)(nil),
- (*CommitRequest_SingleUseTransaction)(nil),
- }
- }
-
- func _CommitRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
- m := msg.(*CommitRequest)
- // transaction
- switch x := m.Transaction.(type) {
- case *CommitRequest_TransactionId:
- b.EncodeVarint(2<<3 | proto.WireBytes)
- b.EncodeRawBytes(x.TransactionId)
- case *CommitRequest_SingleUseTransaction:
- b.EncodeVarint(3<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.SingleUseTransaction); err != nil {
- return err
- }
- case nil:
- default:
- return fmt.Errorf("CommitRequest.Transaction has unexpected type %T", x)
- }
- return nil
- }
-
- func _CommitRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
- m := msg.(*CommitRequest)
- switch tag {
- case 2: // transaction.transaction_id
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- x, err := b.DecodeRawBytes(true)
- m.Transaction = &CommitRequest_TransactionId{x}
- return true, err
- case 3: // transaction.single_use_transaction
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(TransactionOptions)
- err := b.DecodeMessage(msg)
- m.Transaction = &CommitRequest_SingleUseTransaction{msg}
- return true, err
- default:
- return false, nil
- }
- }
-
- func _CommitRequest_OneofSizer(msg proto.Message) (n int) {
- m := msg.(*CommitRequest)
- // transaction
- switch x := m.Transaction.(type) {
- case *CommitRequest_TransactionId:
- n += 1 // tag and wire
- n += proto.SizeVarint(uint64(len(x.TransactionId)))
- n += len(x.TransactionId)
- case *CommitRequest_SingleUseTransaction:
- s := proto.Size(x.SingleUseTransaction)
- n += 1 // tag and wire
- n += proto.SizeVarint(uint64(s))
- n += s
- case nil:
- default:
- panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
- }
- return n
- }
-
- // The response for [Commit][google.spanner.v1.Spanner.Commit].
- type CommitResponse struct {
- // The Cloud Spanner timestamp at which the transaction committed.
- CommitTimestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=commit_timestamp,json=commitTimestamp,proto3" json:"commit_timestamp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *CommitResponse) Reset() { *m = CommitResponse{} }
- func (m *CommitResponse) String() string { return proto.CompactTextString(m) }
- func (*CommitResponse) ProtoMessage() {}
- func (*CommitResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{17}
- }
- func (m *CommitResponse) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_CommitResponse.Unmarshal(m, b)
- }
- func (m *CommitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_CommitResponse.Marshal(b, m, deterministic)
- }
- func (dst *CommitResponse) XXX_Merge(src proto.Message) {
- xxx_messageInfo_CommitResponse.Merge(dst, src)
- }
- func (m *CommitResponse) XXX_Size() int {
- return xxx_messageInfo_CommitResponse.Size(m)
- }
- func (m *CommitResponse) XXX_DiscardUnknown() {
- xxx_messageInfo_CommitResponse.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_CommitResponse proto.InternalMessageInfo
-
- func (m *CommitResponse) GetCommitTimestamp() *timestamp.Timestamp {
- if m != nil {
- return m.CommitTimestamp
- }
- return nil
- }
-
- // The request for [Rollback][google.spanner.v1.Spanner.Rollback].
- type RollbackRequest struct {
- // Required. The session in which the transaction to roll back is running.
- Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
- // Required. The transaction to roll back.
- TransactionId []byte `protobuf:"bytes,2,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
- }
-
- func (m *RollbackRequest) Reset() { *m = RollbackRequest{} }
- func (m *RollbackRequest) String() string { return proto.CompactTextString(m) }
- func (*RollbackRequest) ProtoMessage() {}
- func (*RollbackRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_spanner_e6205c7313670aad, []int{18}
- }
- func (m *RollbackRequest) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_RollbackRequest.Unmarshal(m, b)
- }
- func (m *RollbackRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_RollbackRequest.Marshal(b, m, deterministic)
- }
- func (dst *RollbackRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RollbackRequest.Merge(dst, src)
- }
- func (m *RollbackRequest) XXX_Size() int {
- return xxx_messageInfo_RollbackRequest.Size(m)
- }
- func (m *RollbackRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_RollbackRequest.DiscardUnknown(m)
- }
-
- var xxx_messageInfo_RollbackRequest proto.InternalMessageInfo
-
- func (m *RollbackRequest) GetSession() string {
- if m != nil {
- return m.Session
- }
- return ""
- }
-
- func (m *RollbackRequest) GetTransactionId() []byte {
- if m != nil {
- return m.TransactionId
- }
- return nil
- }
-
- func init() {
- proto.RegisterType((*CreateSessionRequest)(nil), "google.spanner.v1.CreateSessionRequest")
- proto.RegisterType((*Session)(nil), "google.spanner.v1.Session")
- proto.RegisterMapType((map[string]string)(nil), "google.spanner.v1.Session.LabelsEntry")
- proto.RegisterType((*GetSessionRequest)(nil), "google.spanner.v1.GetSessionRequest")
- proto.RegisterType((*ListSessionsRequest)(nil), "google.spanner.v1.ListSessionsRequest")
- proto.RegisterType((*ListSessionsResponse)(nil), "google.spanner.v1.ListSessionsResponse")
- proto.RegisterType((*DeleteSessionRequest)(nil), "google.spanner.v1.DeleteSessionRequest")
- proto.RegisterType((*ExecuteSqlRequest)(nil), "google.spanner.v1.ExecuteSqlRequest")
- proto.RegisterMapType((map[string]*Type)(nil), "google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry")
- proto.RegisterType((*ExecuteBatchDmlRequest)(nil), "google.spanner.v1.ExecuteBatchDmlRequest")
- proto.RegisterType((*ExecuteBatchDmlRequest_Statement)(nil), "google.spanner.v1.ExecuteBatchDmlRequest.Statement")
- proto.RegisterMapType((map[string]*Type)(nil), "google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry")
- proto.RegisterType((*ExecuteBatchDmlResponse)(nil), "google.spanner.v1.ExecuteBatchDmlResponse")
- proto.RegisterType((*PartitionOptions)(nil), "google.spanner.v1.PartitionOptions")
- proto.RegisterType((*PartitionQueryRequest)(nil), "google.spanner.v1.PartitionQueryRequest")
- proto.RegisterMapType((map[string]*Type)(nil), "google.spanner.v1.PartitionQueryRequest.ParamTypesEntry")
- proto.RegisterType((*PartitionReadRequest)(nil), "google.spanner.v1.PartitionReadRequest")
- proto.RegisterType((*Partition)(nil), "google.spanner.v1.Partition")
- proto.RegisterType((*PartitionResponse)(nil), "google.spanner.v1.PartitionResponse")
- proto.RegisterType((*ReadRequest)(nil), "google.spanner.v1.ReadRequest")
- proto.RegisterType((*BeginTransactionRequest)(nil), "google.spanner.v1.BeginTransactionRequest")
- proto.RegisterType((*CommitRequest)(nil), "google.spanner.v1.CommitRequest")
- proto.RegisterType((*CommitResponse)(nil), "google.spanner.v1.CommitResponse")
- proto.RegisterType((*RollbackRequest)(nil), "google.spanner.v1.RollbackRequest")
- proto.RegisterEnum("google.spanner.v1.ExecuteSqlRequest_QueryMode", ExecuteSqlRequest_QueryMode_name, ExecuteSqlRequest_QueryMode_value)
- }
-
- // Reference imports to suppress errors if they are not otherwise used.
- var _ context.Context
- var _ grpc.ClientConn
-
- // This is a compile-time assertion to ensure that this generated file
- // is compatible with the grpc package it is being compiled against.
- const _ = grpc.SupportPackageIsVersion4
-
- // SpannerClient is the client API for Spanner service.
- //
- // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
- type SpannerClient interface {
- // Creates a new session. A session can be used to perform
- // transactions that read and/or modify data in a Cloud Spanner database.
- // Sessions are meant to be reused for many consecutive
- // transactions.
- //
- // Sessions can only execute one transaction at a time. To execute
- // multiple concurrent read-write/write-only transactions, create
- // multiple sessions. Note that standalone reads and queries use a
- // transaction internally, and count toward the one transaction
- // limit.
- //
- // Cloud Spanner limits the number of sessions that can exist at any given
- // time; thus, it is a good idea to delete idle and/or unneeded sessions.
- // Aside from explicit deletes, Cloud Spanner can delete sessions for which no
- // operations are sent for more than an hour. If a session is deleted,
- // requests to it return `NOT_FOUND`.
- //
- // Idle sessions can be kept alive by sending a trivial SQL query
- // periodically, e.g., `"SELECT 1"`.
- CreateSession(ctx context.Context, in *CreateSessionRequest, opts ...grpc.CallOption) (*Session, error)
- // Gets a session. Returns `NOT_FOUND` if the session does not exist.
- // This is mainly useful for determining whether a session is still
- // alive.
- GetSession(ctx context.Context, in *GetSessionRequest, opts ...grpc.CallOption) (*Session, error)
- // Lists all sessions in a given database.
- ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error)
- // Ends a session, releasing server resources associated with it. This will
- // asynchronously trigger cancellation of any operations that are running with
- // this session.
- DeleteSession(ctx context.Context, in *DeleteSessionRequest, opts ...grpc.CallOption) (*empty.Empty, error)
- // Executes an SQL statement, returning all results in a single reply. This
- // method cannot be used to return a result set larger than 10 MiB;
- // if the query yields more data than that, the query fails with
- // a `FAILED_PRECONDITION` error.
- //
- // Operations inside read-write transactions might return `ABORTED`. If
- // this occurs, the application should restart the transaction from
- // the beginning. See [Transaction][google.spanner.v1.Transaction] for more
- // details.
- //
- // Larger result sets can be fetched in streaming fashion by calling
- // [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql]
- // instead.
- ExecuteSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (*ResultSet, error)
- // Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the
- // result set as a stream. Unlike
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there is no limit on
- // the size of the returned result set. However, no individual row in the
- // result set can exceed 100 MiB, and no column value can exceed 10 MiB.
- ExecuteStreamingSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (Spanner_ExecuteStreamingSqlClient, error)
- // Executes a batch of SQL DML statements. This method allows many statements
- // to be run with lower latency than submitting them sequentially with
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql].
- //
- // Statements are executed in order, sequentially.
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse] will contain a
- // [ResultSet][google.spanner.v1.ResultSet] for each DML statement that has successfully executed. If a
- // statement fails, its error status will be returned as part of the
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse]. Execution will
- // stop at the first failed statement; the remaining statements will not run.
- //
- // ExecuteBatchDml is expected to return an OK status with a response even if
- // there was an error while processing one of the DML statements. Clients must
- // inspect response.status to determine if there were any errors while
- // processing the request.
- //
- // See more details in
- // [ExecuteBatchDmlRequest][Spanner.ExecuteBatchDmlRequest] and
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse].
- ExecuteBatchDml(ctx context.Context, in *ExecuteBatchDmlRequest, opts ...grpc.CallOption) (*ExecuteBatchDmlResponse, error)
- // Reads rows from the database using key lookups and scans, as a
- // simple key/value style alternative to
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be
- // used to return a result set larger than 10 MiB; if the read matches more
- // data than that, the read fails with a `FAILED_PRECONDITION`
- // error.
- //
- // Reads inside read-write transactions might return `ABORTED`. If
- // this occurs, the application should restart the transaction from
- // the beginning. See [Transaction][google.spanner.v1.Transaction] for more
- // details.
- //
- // Larger result sets can be yielded in streaming fashion by calling
- // [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead.
- Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ResultSet, error)
- // Like [Read][google.spanner.v1.Spanner.Read], except returns the result set
- // as a stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no
- // limit on the size of the returned result set. However, no individual row in
- // the result set can exceed 100 MiB, and no column value can exceed
- // 10 MiB.
- StreamingRead(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (Spanner_StreamingReadClient, error)
- // Begins a new transaction. This step can often be skipped:
- // [Read][google.spanner.v1.Spanner.Read],
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and
- // [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a
- // side-effect.
- BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*Transaction, error)
- // Commits a transaction. The request includes the mutations to be
- // applied to rows in the database.
- //
- // `Commit` might return an `ABORTED` error. This can occur at any time;
- // commonly, the cause is conflicts with concurrent
- // transactions. However, it can also happen for a variety of other
- // reasons. If `Commit` returns `ABORTED`, the caller should re-attempt
- // the transaction from the beginning, re-using the same session.
- Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error)
- // Rolls back a transaction, releasing any locks it holds. It is a good
- // idea to call this for any transaction that includes one or more
- // [Read][google.spanner.v1.Spanner.Read] or
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and ultimately
- // decides not to commit.
- //
- // `Rollback` returns `OK` if it successfully aborts the transaction, the
- // transaction was already aborted, or the transaction is not
- // found. `Rollback` never returns `ABORTED`.
- Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error)
- // Creates a set of partition tokens that can be used to execute a query
- // operation in parallel. Each of the returned partition tokens can be used
- // by [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] to
- // specify a subset of the query result to read. The same session and
- // read-only transaction must be used by the PartitionQueryRequest used to
- // create the partition tokens and the ExecuteSqlRequests that use the
- // partition tokens.
- //
- // Partition tokens become invalid when the session used to create them
- // is deleted, is idle for too long, begins a new transaction, or becomes too
- // old. When any of these happen, it is not possible to resume the query, and
- // the whole operation must be restarted from the beginning.
- PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionResponse, error)
- // Creates a set of partition tokens that can be used to execute a read
- // operation in parallel. Each of the returned partition tokens can be used
- // by [StreamingRead][google.spanner.v1.Spanner.StreamingRead] to specify a
- // subset of the read result to read. The same session and read-only
- // transaction must be used by the PartitionReadRequest used to create the
- // partition tokens and the ReadRequests that use the partition tokens. There
- // are no ordering guarantees on rows returned among the returned partition
- // tokens, or even within each individual StreamingRead call issued with a
- // partition_token.
- //
- // Partition tokens become invalid when the session used to create them
- // is deleted, is idle for too long, begins a new transaction, or becomes too
- // old. When any of these happen, it is not possible to resume the read, and
- // the whole operation must be restarted from the beginning.
- PartitionRead(ctx context.Context, in *PartitionReadRequest, opts ...grpc.CallOption) (*PartitionResponse, error)
- }
-
- type spannerClient struct {
- cc *grpc.ClientConn
- }
-
- func NewSpannerClient(cc *grpc.ClientConn) SpannerClient {
- return &spannerClient{cc}
- }
-
- func (c *spannerClient) CreateSession(ctx context.Context, in *CreateSessionRequest, opts ...grpc.CallOption) (*Session, error) {
- out := new(Session)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/CreateSession", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) GetSession(ctx context.Context, in *GetSessionRequest, opts ...grpc.CallOption) (*Session, error) {
- out := new(Session)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/GetSession", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) {
- out := new(ListSessionsResponse)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/ListSessions", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) DeleteSession(ctx context.Context, in *DeleteSessionRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
- out := new(empty.Empty)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/DeleteSession", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) ExecuteSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (*ResultSet, error) {
- out := new(ResultSet)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/ExecuteSql", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) ExecuteStreamingSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (Spanner_ExecuteStreamingSqlClient, error) {
- stream, err := c.cc.NewStream(ctx, &_Spanner_serviceDesc.Streams[0], "/google.spanner.v1.Spanner/ExecuteStreamingSql", opts...)
- if err != nil {
- return nil, err
- }
- x := &spannerExecuteStreamingSqlClient{stream}
- if err := x.ClientStream.SendMsg(in); err != nil {
- return nil, err
- }
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- return x, nil
- }
-
- type Spanner_ExecuteStreamingSqlClient interface {
- Recv() (*PartialResultSet, error)
- grpc.ClientStream
- }
-
- type spannerExecuteStreamingSqlClient struct {
- grpc.ClientStream
- }
-
- func (x *spannerExecuteStreamingSqlClient) Recv() (*PartialResultSet, error) {
- m := new(PartialResultSet)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
- }
-
- func (c *spannerClient) ExecuteBatchDml(ctx context.Context, in *ExecuteBatchDmlRequest, opts ...grpc.CallOption) (*ExecuteBatchDmlResponse, error) {
- out := new(ExecuteBatchDmlResponse)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/ExecuteBatchDml", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ResultSet, error) {
- out := new(ResultSet)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/Read", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) StreamingRead(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (Spanner_StreamingReadClient, error) {
- stream, err := c.cc.NewStream(ctx, &_Spanner_serviceDesc.Streams[1], "/google.spanner.v1.Spanner/StreamingRead", opts...)
- if err != nil {
- return nil, err
- }
- x := &spannerStreamingReadClient{stream}
- if err := x.ClientStream.SendMsg(in); err != nil {
- return nil, err
- }
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- return x, nil
- }
-
- type Spanner_StreamingReadClient interface {
- Recv() (*PartialResultSet, error)
- grpc.ClientStream
- }
-
- type spannerStreamingReadClient struct {
- grpc.ClientStream
- }
-
- func (x *spannerStreamingReadClient) Recv() (*PartialResultSet, error) {
- m := new(PartialResultSet)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
- }
-
- func (c *spannerClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*Transaction, error) {
- out := new(Transaction)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/BeginTransaction", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) {
- out := new(CommitResponse)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/Commit", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
- out := new(empty.Empty)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/Rollback", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionResponse, error) {
- out := new(PartitionResponse)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/PartitionQuery", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- func (c *spannerClient) PartitionRead(ctx context.Context, in *PartitionReadRequest, opts ...grpc.CallOption) (*PartitionResponse, error) {
- out := new(PartitionResponse)
- err := c.cc.Invoke(ctx, "/google.spanner.v1.Spanner/PartitionRead", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
-
- // SpannerServer is the server API for Spanner service.
- type SpannerServer interface {
- // Creates a new session. A session can be used to perform
- // transactions that read and/or modify data in a Cloud Spanner database.
- // Sessions are meant to be reused for many consecutive
- // transactions.
- //
- // Sessions can only execute one transaction at a time. To execute
- // multiple concurrent read-write/write-only transactions, create
- // multiple sessions. Note that standalone reads and queries use a
- // transaction internally, and count toward the one transaction
- // limit.
- //
- // Cloud Spanner limits the number of sessions that can exist at any given
- // time; thus, it is a good idea to delete idle and/or unneeded sessions.
- // Aside from explicit deletes, Cloud Spanner can delete sessions for which no
- // operations are sent for more than an hour. If a session is deleted,
- // requests to it return `NOT_FOUND`.
- //
- // Idle sessions can be kept alive by sending a trivial SQL query
- // periodically, e.g., `"SELECT 1"`.
- CreateSession(context.Context, *CreateSessionRequest) (*Session, error)
- // Gets a session. Returns `NOT_FOUND` if the session does not exist.
- // This is mainly useful for determining whether a session is still
- // alive.
- GetSession(context.Context, *GetSessionRequest) (*Session, error)
- // Lists all sessions in a given database.
- ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error)
- // Ends a session, releasing server resources associated with it. This will
- // asynchronously trigger cancellation of any operations that are running with
- // this session.
- DeleteSession(context.Context, *DeleteSessionRequest) (*empty.Empty, error)
- // Executes an SQL statement, returning all results in a single reply. This
- // method cannot be used to return a result set larger than 10 MiB;
- // if the query yields more data than that, the query fails with
- // a `FAILED_PRECONDITION` error.
- //
- // Operations inside read-write transactions might return `ABORTED`. If
- // this occurs, the application should restart the transaction from
- // the beginning. See [Transaction][google.spanner.v1.Transaction] for more
- // details.
- //
- // Larger result sets can be fetched in streaming fashion by calling
- // [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql]
- // instead.
- ExecuteSql(context.Context, *ExecuteSqlRequest) (*ResultSet, error)
- // Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the
- // result set as a stream. Unlike
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there is no limit on
- // the size of the returned result set. However, no individual row in the
- // result set can exceed 100 MiB, and no column value can exceed 10 MiB.
- ExecuteStreamingSql(*ExecuteSqlRequest, Spanner_ExecuteStreamingSqlServer) error
- // Executes a batch of SQL DML statements. This method allows many statements
- // to be run with lower latency than submitting them sequentially with
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql].
- //
- // Statements are executed in order, sequentially.
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse] will contain a
- // [ResultSet][google.spanner.v1.ResultSet] for each DML statement that has successfully executed. If a
- // statement fails, its error status will be returned as part of the
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse]. Execution will
- // stop at the first failed statement; the remaining statements will not run.
- //
- // ExecuteBatchDml is expected to return an OK status with a response even if
- // there was an error while processing one of the DML statements. Clients must
- // inspect response.status to determine if there were any errors while
- // processing the request.
- //
- // See more details in
- // [ExecuteBatchDmlRequest][Spanner.ExecuteBatchDmlRequest] and
- // [ExecuteBatchDmlResponse][Spanner.ExecuteBatchDmlResponse].
- ExecuteBatchDml(context.Context, *ExecuteBatchDmlRequest) (*ExecuteBatchDmlResponse, error)
- // Reads rows from the database using key lookups and scans, as a
- // simple key/value style alternative to
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be
- // used to return a result set larger than 10 MiB; if the read matches more
- // data than that, the read fails with a `FAILED_PRECONDITION`
- // error.
- //
- // Reads inside read-write transactions might return `ABORTED`. If
- // this occurs, the application should restart the transaction from
- // the beginning. See [Transaction][google.spanner.v1.Transaction] for more
- // details.
- //
- // Larger result sets can be yielded in streaming fashion by calling
- // [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead.
- Read(context.Context, *ReadRequest) (*ResultSet, error)
- // Like [Read][google.spanner.v1.Spanner.Read], except returns the result set
- // as a stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no
- // limit on the size of the returned result set. However, no individual row in
- // the result set can exceed 100 MiB, and no column value can exceed
- // 10 MiB.
- StreamingRead(*ReadRequest, Spanner_StreamingReadServer) error
- // Begins a new transaction. This step can often be skipped:
- // [Read][google.spanner.v1.Spanner.Read],
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and
- // [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a
- // side-effect.
- BeginTransaction(context.Context, *BeginTransactionRequest) (*Transaction, error)
- // Commits a transaction. The request includes the mutations to be
- // applied to rows in the database.
- //
- // `Commit` might return an `ABORTED` error. This can occur at any time;
- // commonly, the cause is conflicts with concurrent
- // transactions. However, it can also happen for a variety of other
- // reasons. If `Commit` returns `ABORTED`, the caller should re-attempt
- // the transaction from the beginning, re-using the same session.
- Commit(context.Context, *CommitRequest) (*CommitResponse, error)
- // Rolls back a transaction, releasing any locks it holds. It is a good
- // idea to call this for any transaction that includes one or more
- // [Read][google.spanner.v1.Spanner.Read] or
- // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and ultimately
- // decides not to commit.
- //
- // `Rollback` returns `OK` if it successfully aborts the transaction, the
- // transaction was already aborted, or the transaction is not
- // found. `Rollback` never returns `ABORTED`.
- Rollback(context.Context, *RollbackRequest) (*empty.Empty, error)
- // Creates a set of partition tokens that can be used to execute a query
- // operation in parallel. Each of the returned partition tokens can be used
- // by [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] to
- // specify a subset of the query result to read. The same session and
- // read-only transaction must be used by the PartitionQueryRequest used to
- // create the partition tokens and the ExecuteSqlRequests that use the
- // partition tokens.
- //
- // Partition tokens become invalid when the session used to create them
- // is deleted, is idle for too long, begins a new transaction, or becomes too
- // old. When any of these happen, it is not possible to resume the query, and
- // the whole operation must be restarted from the beginning.
- PartitionQuery(context.Context, *PartitionQueryRequest) (*PartitionResponse, error)
- // Creates a set of partition tokens that can be used to execute a read
- // operation in parallel. Each of the returned partition tokens can be used
- // by [StreamingRead][google.spanner.v1.Spanner.StreamingRead] to specify a
- // subset of the read result to read. The same session and read-only
- // transaction must be used by the PartitionReadRequest used to create the
- // partition tokens and the ReadRequests that use the partition tokens. There
- // are no ordering guarantees on rows returned among the returned partition
- // tokens, or even within each individual StreamingRead call issued with a
- // partition_token.
- //
- // Partition tokens become invalid when the session used to create them
- // is deleted, is idle for too long, begins a new transaction, or becomes too
- // old. When any of these happen, it is not possible to resume the read, and
- // the whole operation must be restarted from the beginning.
- PartitionRead(context.Context, *PartitionReadRequest) (*PartitionResponse, error)
- }
-
- func RegisterSpannerServer(s *grpc.Server, srv SpannerServer) {
- s.RegisterService(&_Spanner_serviceDesc, srv)
- }
-
- func _Spanner_CreateSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateSessionRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).CreateSession(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/CreateSession",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).CreateSession(ctx, req.(*CreateSessionRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_GetSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetSessionRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).GetSession(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/GetSession",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).GetSession(ctx, req.(*GetSessionRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_ListSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListSessionsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).ListSessions(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/ListSessions",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).ListSessions(ctx, req.(*ListSessionsRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_DeleteSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteSessionRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).DeleteSession(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/DeleteSession",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).DeleteSession(ctx, req.(*DeleteSessionRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_ExecuteSql_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ExecuteSqlRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).ExecuteSql(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/ExecuteSql",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).ExecuteSql(ctx, req.(*ExecuteSqlRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_ExecuteStreamingSql_Handler(srv interface{}, stream grpc.ServerStream) error {
- m := new(ExecuteSqlRequest)
- if err := stream.RecvMsg(m); err != nil {
- return err
- }
- return srv.(SpannerServer).ExecuteStreamingSql(m, &spannerExecuteStreamingSqlServer{stream})
- }
-
- type Spanner_ExecuteStreamingSqlServer interface {
- Send(*PartialResultSet) error
- grpc.ServerStream
- }
-
- type spannerExecuteStreamingSqlServer struct {
- grpc.ServerStream
- }
-
- func (x *spannerExecuteStreamingSqlServer) Send(m *PartialResultSet) error {
- return x.ServerStream.SendMsg(m)
- }
-
- func _Spanner_ExecuteBatchDml_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ExecuteBatchDmlRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).ExecuteBatchDml(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/ExecuteBatchDml",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).ExecuteBatchDml(ctx, req.(*ExecuteBatchDmlRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReadRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).Read(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/Read",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).Read(ctx, req.(*ReadRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_StreamingRead_Handler(srv interface{}, stream grpc.ServerStream) error {
- m := new(ReadRequest)
- if err := stream.RecvMsg(m); err != nil {
- return err
- }
- return srv.(SpannerServer).StreamingRead(m, &spannerStreamingReadServer{stream})
- }
-
- type Spanner_StreamingReadServer interface {
- Send(*PartialResultSet) error
- grpc.ServerStream
- }
-
- type spannerStreamingReadServer struct {
- grpc.ServerStream
- }
-
- func (x *spannerStreamingReadServer) Send(m *PartialResultSet) error {
- return x.ServerStream.SendMsg(m)
- }
-
- func _Spanner_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(BeginTransactionRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).BeginTransaction(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/BeginTransaction",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).BeginTransaction(ctx, req.(*BeginTransactionRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CommitRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).Commit(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/Commit",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).Commit(ctx, req.(*CommitRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(RollbackRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).Rollback(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/Rollback",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).Rollback(ctx, req.(*RollbackRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_PartitionQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(PartitionQueryRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).PartitionQuery(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/PartitionQuery",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).PartitionQuery(ctx, req.(*PartitionQueryRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- func _Spanner_PartitionRead_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(PartitionReadRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SpannerServer).PartitionRead(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.spanner.v1.Spanner/PartitionRead",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SpannerServer).PartitionRead(ctx, req.(*PartitionReadRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
-
- var _Spanner_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.spanner.v1.Spanner",
- HandlerType: (*SpannerServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "CreateSession",
- Handler: _Spanner_CreateSession_Handler,
- },
- {
- MethodName: "GetSession",
- Handler: _Spanner_GetSession_Handler,
- },
- {
- MethodName: "ListSessions",
- Handler: _Spanner_ListSessions_Handler,
- },
- {
- MethodName: "DeleteSession",
- Handler: _Spanner_DeleteSession_Handler,
- },
- {
- MethodName: "ExecuteSql",
- Handler: _Spanner_ExecuteSql_Handler,
- },
- {
- MethodName: "ExecuteBatchDml",
- Handler: _Spanner_ExecuteBatchDml_Handler,
- },
- {
- MethodName: "Read",
- Handler: _Spanner_Read_Handler,
- },
- {
- MethodName: "BeginTransaction",
- Handler: _Spanner_BeginTransaction_Handler,
- },
- {
- MethodName: "Commit",
- Handler: _Spanner_Commit_Handler,
- },
- {
- MethodName: "Rollback",
- Handler: _Spanner_Rollback_Handler,
- },
- {
- MethodName: "PartitionQuery",
- Handler: _Spanner_PartitionQuery_Handler,
- },
- {
- MethodName: "PartitionRead",
- Handler: _Spanner_PartitionRead_Handler,
- },
- },
- Streams: []grpc.StreamDesc{
- {
- StreamName: "ExecuteStreamingSql",
- Handler: _Spanner_ExecuteStreamingSql_Handler,
- ServerStreams: true,
- },
- {
- StreamName: "StreamingRead",
- Handler: _Spanner_StreamingRead_Handler,
- ServerStreams: true,
- },
- },
- Metadata: "google/spanner/v1/spanner.proto",
- }
-
- func init() {
- proto.RegisterFile("google/spanner/v1/spanner.proto", fileDescriptor_spanner_e6205c7313670aad)
- }
-
- var fileDescriptor_spanner_e6205c7313670aad = []byte{
- // 1832 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7,
- 0x15, 0xf7, 0x92, 0x12, 0x25, 0x3e, 0xea, 0x73, 0xc2, 0x48, 0x0c, 0xed, 0x26, 0xca, 0x26, 0x8e,
- 0x54, 0x02, 0x25, 0x63, 0xc5, 0x28, 0x1c, 0x25, 0x69, 0x1c, 0xd9, 0x8a, 0xed, 0x5a, 0xb2, 0xe8,
- 0xa5, 0xec, 0xa0, 0x81, 0x0b, 0x62, 0x44, 0x4e, 0x98, 0xad, 0xf6, 0x4b, 0x3b, 0x43, 0x43, 0x4c,
- 0x91, 0x4b, 0xd1, 0xde, 0x7a, 0x68, 0x1b, 0x14, 0x3d, 0xb4, 0xb7, 0xde, 0x8a, 0x1c, 0x0b, 0xe4,
- 0x56, 0x14, 0x28, 0x90, 0x43, 0x80, 0x9e, 0xfa, 0x2f, 0xf4, 0x6f, 0xe8, 0xa5, 0x97, 0x62, 0xbe,
- 0x96, 0x4b, 0x72, 0x44, 0x31, 0xa5, 0x13, 0xa0, 0xe8, 0x89, 0x3b, 0xf3, 0xde, 0xbc, 0xf9, 0xcd,
- 0xfb, 0xfd, 0xe6, 0xe3, 0x81, 0xf0, 0x52, 0x27, 0x0c, 0x3b, 0x1e, 0xa9, 0xd1, 0x08, 0x07, 0x01,
- 0x89, 0x6b, 0x4f, 0xaf, 0xe9, 0xcf, 0x6a, 0x14, 0x87, 0x2c, 0x44, 0xab, 0xd2, 0xa1, 0xaa, 0x7b,
- 0x9f, 0x5e, 0x2b, 0x5f, 0x51, 0x63, 0x70, 0xe4, 0xd6, 0x70, 0x10, 0x84, 0x0c, 0x33, 0x37, 0x0c,
- 0xa8, 0x1c, 0x50, 0xbe, 0xac, 0xac, 0xa2, 0x75, 0xdc, 0xfd, 0xa8, 0x46, 0xfc, 0x88, 0xf5, 0x94,
- 0xf1, 0xca, 0xb0, 0x91, 0xb2, 0xb8, 0xdb, 0x62, 0xca, 0xfa, 0xd2, 0xb0, 0x95, 0xb9, 0x3e, 0xa1,
- 0x0c, 0xfb, 0x91, 0x72, 0x58, 0x57, 0x0e, 0x71, 0xd4, 0xaa, 0x51, 0x86, 0x59, 0x97, 0x0e, 0xc5,
- 0x4d, 0x2d, 0xe3, 0x84, 0xf4, 0xb4, 0x75, 0x63, 0xd4, 0xea, 0x77, 0x25, 0x6a, 0xe5, 0x61, 0x8f,
- 0x7a, 0xc4, 0x84, 0x76, 0x3d, 0xd6, 0xa4, 0x44, 0xa3, 0x7b, 0x65, 0xd4, 0x87, 0xc5, 0x38, 0xa0,
- 0xb8, 0x95, 0x0a, 0x64, 0x00, 0xc2, 0x7a, 0x11, 0x91, 0x56, 0xfb, 0x63, 0x28, 0xde, 0x8a, 0x09,
- 0x66, 0xa4, 0x41, 0x28, 0x75, 0xc3, 0xc0, 0x21, 0xa7, 0x5d, 0x42, 0x19, 0x2a, 0xc3, 0x7c, 0x1b,
- 0x33, 0x7c, 0x8c, 0x29, 0x29, 0x59, 0x1b, 0xd6, 0x56, 0xde, 0x49, 0xda, 0xe8, 0x3a, 0xcc, 0x51,
- 0xe9, 0x5d, 0xca, 0x6c, 0x58, 0x5b, 0x85, 0xed, 0x72, 0x75, 0x84, 0x92, 0xaa, 0x8e, 0xa7, 0x5d,
- 0xed, 0xcf, 0x33, 0x30, 0xa7, 0x3a, 0x11, 0x82, 0x99, 0x00, 0xfb, 0x3a, 0xb2, 0xf8, 0x46, 0x3f,
- 0x80, 0x9c, 0x87, 0x8f, 0x89, 0x47, 0x4b, 0x99, 0x8d, 0xec, 0x56, 0x61, 0xfb, 0xb5, 0xf3, 0x83,
- 0x56, 0xf7, 0x85, 0xe3, 0x5e, 0xc0, 0xe2, 0x9e, 0xa3, 0x46, 0xa1, 0xb7, 0xa0, 0xd0, 0x12, 0x2b,
- 0x69, 0x72, 0x8e, 0x4a, 0xd9, 0x41, 0x64, 0x9a, 0xc0, 0xea, 0x91, 0x26, 0xd0, 0x01, 0xe9, 0xce,
- 0x3b, 0xd0, 0x23, 0x78, 0x01, 0x47, 0x51, 0x1c, 0x9e, 0xb9, 0x3e, 0x8f, 0xe0, 0x61, 0xca, 0x9a,
- 0x5d, 0xaa, 0x42, 0xcd, 0x5c, 0x18, 0x6a, 0x2d, 0x35, 0x78, 0x1f, 0x53, 0xf6, 0x88, 0x8a, 0xb0,
- 0xe5, 0x37, 0xa1, 0x90, 0x82, 0x8a, 0x56, 0x20, 0x7b, 0x42, 0x7a, 0x6a, 0xd5, 0xfc, 0x13, 0x15,
- 0x61, 0xf6, 0x29, 0xf6, 0xba, 0x44, 0x24, 0x32, 0xef, 0xc8, 0xc6, 0x4e, 0xe6, 0x86, 0x65, 0x6f,
- 0xc2, 0xea, 0x1d, 0xc2, 0x86, 0x58, 0x31, 0xe4, 0xcd, 0xfe, 0x85, 0x05, 0xcf, 0xed, 0xbb, 0x54,
- 0xbb, 0xd2, 0x49, 0x18, 0xbc, 0x0c, 0xf9, 0x08, 0x77, 0x48, 0x93, 0xba, 0x9f, 0xc8, 0xa9, 0x67,
- 0x9d, 0x79, 0xde, 0xd1, 0x70, 0x3f, 0x21, 0xe8, 0x3b, 0x00, 0xc2, 0xc8, 0xc2, 0x13, 0x12, 0x88,
- 0x3c, 0xe6, 0x1d, 0xe1, 0x7e, 0xc4, 0x3b, 0xd0, 0x1a, 0xe4, 0x3e, 0x72, 0x3d, 0x46, 0x62, 0x91,
- 0x97, 0xbc, 0xa3, 0x5a, 0xf6, 0x53, 0x28, 0x0e, 0xc2, 0xa0, 0x51, 0x18, 0x50, 0x82, 0xbe, 0x0f,
- 0xf3, 0x4a, 0x02, 0xb4, 0x64, 0x09, 0x66, 0xc7, 0xc9, 0x25, 0xf1, 0x45, 0xaf, 0xc1, 0x72, 0x40,
- 0xce, 0x58, 0x33, 0x85, 0x45, 0x26, 0x69, 0x91, 0x77, 0xd7, 0x35, 0x1e, 0xbb, 0x02, 0xc5, 0xdb,
- 0xc4, 0x23, 0x23, 0x0a, 0x36, 0xe5, 0xea, 0xab, 0x19, 0x58, 0xdd, 0x3b, 0x23, 0xad, 0x2e, 0x23,
- 0x8d, 0x53, 0x4f, 0x7b, 0x96, 0xfa, 0x7a, 0x96, 0xce, 0xba, 0x89, 0xee, 0x42, 0x21, 0xb5, 0xa1,
- 0x94, 0xda, 0x4d, 0xc2, 0x3c, 0xea, 0x7b, 0x35, 0x88, 0x47, 0x5a, 0x2c, 0x8c, 0x9d, 0xf4, 0x50,
- 0x4e, 0x3d, 0x3d, 0xf5, 0x54, 0x36, 0xf9, 0x27, 0xaa, 0x41, 0x2e, 0xc2, 0x31, 0xf6, 0xa9, 0xd2,
- 0xd7, 0xfa, 0x88, 0xbe, 0x1a, 0xe2, 0x24, 0x72, 0x94, 0x1b, 0x7a, 0x04, 0x05, 0xf1, 0xd5, 0xe4,
- 0xdb, 0x97, 0x96, 0x66, 0x45, 0x2e, 0xaf, 0x1b, 0xc0, 0x8c, 0xac, 0xb0, 0x5a, 0xe7, 0xe3, 0x8e,
- 0xf8, 0x30, 0xb9, 0x67, 0x20, 0x4a, 0x3a, 0xd0, 0xcb, 0xb0, 0xc0, 0x0f, 0x16, 0x5f, 0x27, 0x39,
- 0xb7, 0x61, 0x6d, 0x2d, 0x38, 0x05, 0xd9, 0x27, 0x29, 0x3f, 0x00, 0x38, 0xed, 0x92, 0xb8, 0xd7,
- 0xf4, 0xc3, 0x36, 0x29, 0xcd, 0x6d, 0x58, 0x5b, 0x4b, 0xdb, 0xd5, 0x89, 0x26, 0x7e, 0xc8, 0x87,
- 0x1d, 0x84, 0x6d, 0xe2, 0xe4, 0x4f, 0xf5, 0x27, 0xda, 0x84, 0xe5, 0x08, 0xc7, 0xcc, 0xe5, 0x89,
- 0x51, 0x93, 0xce, 0x8b, 0x49, 0x97, 0x92, 0x6e, 0x39, 0x6f, 0x11, 0x66, 0x29, 0x39, 0x0d, 0xc2,
- 0x52, 0x7e, 0xc3, 0xda, 0xca, 0x3a, 0xb2, 0x51, 0x7e, 0x0c, 0xcb, 0x43, 0xeb, 0x31, 0x6c, 0xac,
- 0xef, 0xa5, 0x37, 0x56, 0x2a, 0xb9, 0x69, 0xce, 0x7a, 0x11, 0x49, 0xef, 0xb8, 0x2a, 0xe4, 0x13,
- 0xb8, 0x08, 0x20, 0xf7, 0xe0, 0xd0, 0x39, 0x78, 0x6f, 0x7f, 0xe5, 0x12, 0x9a, 0x87, 0x99, 0xfa,
- 0xfe, 0x7b, 0x0f, 0x56, 0x2c, 0x54, 0x80, 0xb9, 0xba, 0x73, 0xf8, 0xfe, 0xbd, 0xfd, 0xbd, 0x95,
- 0x8c, 0xfd, 0xaf, 0x2c, 0xac, 0xa9, 0x15, 0xef, 0x62, 0xd6, 0xfa, 0xf8, 0xb6, 0xff, 0xad, 0x2a,
- 0xaa, 0x01, 0xc0, 0x2f, 0x1c, 0xe2, 0x93, 0x80, 0xd1, 0x52, 0x56, 0xa8, 0xe1, 0x8d, 0xf3, 0x49,
- 0x19, 0x82, 0x58, 0x6d, 0xe8, 0xb1, 0x4e, 0x2a, 0x4c, 0x3f, 0xe3, 0x33, 0xe9, 0x8c, 0xff, 0x32,
- 0x03, 0xf9, 0xc4, 0x5f, 0x4b, 0xd9, 0x32, 0x49, 0x39, 0x33, 0x99, 0x94, 0xdb, 0x83, 0x52, 0x96,
- 0xe0, 0x6f, 0xfd, 0x17, 0xe0, 0xc7, 0x29, 0xfb, 0x1b, 0x13, 0xca, 0xcf, 0x2d, 0x58, 0x1f, 0x01,
- 0xa6, 0x4e, 0xbb, 0x77, 0xa0, 0xd0, 0xbf, 0xa6, 0xf5, 0x81, 0x77, 0xc5, 0x10, 0xd4, 0x11, 0x5e,
- 0x0d, 0xc2, 0x1c, 0x88, 0xf5, 0x27, 0x45, 0x15, 0xc8, 0xc9, 0x57, 0x84, 0x82, 0x83, 0xf4, 0xc8,
- 0x38, 0x6a, 0x89, 0x55, 0x77, 0xa9, 0xa3, 0x3c, 0xec, 0x13, 0x58, 0xa9, 0xeb, 0xfd, 0x72, 0x18,
- 0x89, 0x07, 0x0f, 0x7a, 0x1d, 0x8a, 0xfd, 0xad, 0xc5, 0x4f, 0xf7, 0xe6, 0x71, 0x8f, 0x11, 0x2a,
- 0x16, 0x9c, 0x75, 0x50, 0x62, 0xe3, 0x07, 0xfd, 0x2e, 0xb7, 0xa0, 0xab, 0xb0, 0xe4, 0xe3, 0xb3,
- 0x66, 0x62, 0x91, 0x33, 0x67, 0x9d, 0x45, 0x1f, 0x9f, 0x25, 0xe1, 0xa9, 0xfd, 0xb7, 0x2c, 0x3c,
- 0x9f, 0x34, 0xc5, 0x36, 0xf9, 0x1f, 0x3b, 0x3d, 0x7f, 0x64, 0x3a, 0x3d, 0x6f, 0x18, 0xc0, 0x18,
- 0x57, 0x39, 0xf6, 0x04, 0xad, 0xc3, 0x6a, 0x3f, 0xe9, 0xa1, 0x64, 0x42, 0x1c, 0xa3, 0x85, 0xed,
- 0x57, 0xc6, 0x4d, 0xa0, 0x48, 0x73, 0x56, 0xa2, 0xa1, 0x9e, 0x6f, 0x4c, 0xb9, 0x5f, 0x66, 0xa0,
- 0x98, 0x4c, 0xef, 0x10, 0xdc, 0xfe, 0x36, 0x49, 0x2c, 0xc2, 0x2c, 0xc3, 0xc7, 0x1e, 0x51, 0x34,
- 0xca, 0x06, 0xef, 0x75, 0x83, 0x36, 0x39, 0x53, 0xaf, 0x09, 0xd9, 0xe0, 0x78, 0x5a, 0xa1, 0xd7,
- 0xf5, 0x03, 0xc9, 0x54, 0xde, 0xd1, 0x4d, 0xb4, 0x0d, 0x73, 0x27, 0xa4, 0xc7, 0x77, 0x97, 0x4a,
- 0xf1, 0x0b, 0x06, 0x2c, 0xf7, 0x49, 0x8f, 0xef, 0xac, 0xdc, 0x89, 0xf8, 0x35, 0x13, 0x94, 0x9f,
- 0x82, 0x20, 0xfb, 0x3a, 0xe4, 0x13, 0x2f, 0xd3, 0x7d, 0x66, 0x99, 0xee, 0x33, 0xfb, 0x33, 0x0b,
- 0x56, 0x53, 0xe9, 0x57, 0x47, 0xc6, 0xdb, 0xfc, 0xbd, 0x95, 0xec, 0xbe, 0xf3, 0x4f, 0x8c, 0xfe,
- 0xc8, 0x94, 0x3f, 0xba, 0x69, 0xe2, 0xe7, 0xc5, 0xf1, 0xfc, 0x0c, 0xf0, 0x62, 0xff, 0x3d, 0x03,
- 0x85, 0xff, 0x1f, 0x2d, 0x14, 0x61, 0xd6, 0x73, 0x7d, 0x97, 0x89, 0x27, 0x47, 0xd6, 0x91, 0x8d,
- 0x91, 0x47, 0x50, 0x7e, 0xf4, 0x11, 0x64, 0x60, 0x19, 0x8c, 0x2c, 0x33, 0x58, 0xdf, 0x25, 0x1d,
- 0x37, 0x48, 0x27, 0xfc, 0xc2, 0xd4, 0xbe, 0x0b, 0x73, 0x5a, 0x98, 0x32, 0xad, 0x57, 0xc7, 0xa7,
- 0x55, 0x4b, 0x53, 0x8f, 0xb2, 0xff, 0x6d, 0xc1, 0xe2, 0xad, 0xd0, 0xf7, 0x5d, 0x76, 0xf1, 0x64,
- 0x9b, 0xb0, 0x94, 0x22, 0xa3, 0xe9, 0xb6, 0xc5, 0x9c, 0x0b, 0x77, 0x2f, 0x39, 0x8b, 0xa9, 0xfe,
- 0x7b, 0x6d, 0xf4, 0x63, 0x58, 0xa3, 0x6e, 0xd0, 0xf1, 0x88, 0x2c, 0x86, 0x52, 0xdc, 0x67, 0xbf,
- 0x06, 0xc8, 0xbb, 0x97, 0x9c, 0xa2, 0x0c, 0xc3, 0xeb, 0xa2, 0x94, 0x0a, 0xde, 0x84, 0xbc, 0xae,
- 0x7a, 0xf9, 0x39, 0xce, 0x85, 0x7f, 0xd9, 0x10, 0xf1, 0x40, 0xf9, 0x38, 0x7d, 0xef, 0xdd, 0xc5,
- 0x01, 0x29, 0xda, 0x1f, 0xc0, 0x92, 0x5e, 0xbc, 0xda, 0x55, 0x7b, 0xb0, 0xd2, 0x12, 0x3d, 0xcd,
- 0xa4, 0x64, 0x17, 0x69, 0x18, 0x5f, 0xc8, 0x2d, 0xcb, 0x31, 0x49, 0x87, 0xed, 0xc0, 0xb2, 0x13,
- 0x7a, 0xde, 0x31, 0x6e, 0x9d, 0x5c, 0x9c, 0xd7, 0xab, 0xe6, 0xbc, 0x0e, 0x65, 0x75, 0xfb, 0x4b,
- 0x04, 0x73, 0x0d, 0xb9, 0x3c, 0xf4, 0x7b, 0x4e, 0x5b, 0xba, 0x00, 0x47, 0x9b, 0x86, 0x0c, 0x98,
- 0x4a, 0xf4, 0xf2, 0x98, 0x32, 0xca, 0xde, 0xfb, 0xd9, 0x3f, 0xfe, 0xf9, 0x59, 0xe6, 0x5d, 0x7b,
- 0x87, 0x97, 0xfb, 0x3f, 0xd5, 0x75, 0xdf, 0x3b, 0x51, 0x1c, 0xfe, 0x84, 0xb4, 0x18, 0xad, 0x55,
- 0x6a, 0x6e, 0x40, 0x19, 0x0e, 0x5a, 0x84, 0x7f, 0x6b, 0x3b, 0xad, 0x55, 0x3e, 0xad, 0xe9, 0x02,
- 0x6c, 0xc7, 0xaa, 0xa0, 0x5f, 0x59, 0x00, 0xfd, 0x2a, 0x14, 0xbd, 0x6a, 0x98, 0x71, 0xa4, 0x48,
- 0x1d, 0x8b, 0xeb, 0xa6, 0xc0, 0xb5, 0x83, 0x6e, 0x08, 0x5c, 0xbc, 0x26, 0x9b, 0x00, 0x53, 0x02,
- 0xa9, 0x56, 0xf9, 0x14, 0xfd, 0xd1, 0x82, 0x85, 0x74, 0x9d, 0x89, 0x4c, 0xe7, 0x8f, 0xa1, 0x1e,
- 0x2e, 0x6f, 0x5e, 0xe8, 0x27, 0x95, 0x63, 0xef, 0x0a, 0x8c, 0x6f, 0xa3, 0x29, 0x72, 0x87, 0x7e,
- 0x63, 0xc1, 0xe2, 0x40, 0x55, 0x6a, 0xa4, 0xd5, 0x54, 0xb7, 0x96, 0xd7, 0x46, 0xe4, 0xb9, 0xe7,
- 0x47, 0xac, 0xa7, 0x53, 0x57, 0x99, 0x2a, 0x75, 0xd0, 0x2f, 0xd1, 0x8c, 0x6c, 0x8e, 0x54, 0x70,
- 0xe5, 0xb1, 0x6f, 0x57, 0xfb, 0xa1, 0x00, 0x75, 0xdf, 0x7e, 0x5f, 0x80, 0x52, 0x93, 0x7d, 0x4d,
- 0x5c, 0x3b, 0x24, 0x99, 0x94, 0x6b, 0xee, 0x2f, 0x16, 0x3c, 0xa7, 0x61, 0xb0, 0x98, 0x60, 0xdf,
- 0x0d, 0x3a, 0x93, 0xc3, 0x3d, 0xf7, 0x3e, 0xc7, 0x5e, 0x1f, 0xf5, 0x87, 0x02, 0xf5, 0x91, 0x7d,
- 0xf8, 0x2c, 0x50, 0xa7, 0x30, 0xee, 0x58, 0x95, 0xd7, 0x2d, 0xf4, 0x57, 0x0b, 0x96, 0x87, 0xca,
- 0x03, 0xf4, 0xdd, 0x89, 0x6b, 0x9b, 0x72, 0x65, 0x12, 0x57, 0x25, 0xd5, 0xc7, 0x62, 0x21, 0x75,
- 0xfb, 0xfe, 0x33, 0x58, 0x88, 0x0e, 0xce, 0x39, 0xf8, 0xb5, 0x05, 0x33, 0xfc, 0x49, 0x80, 0x5e,
- 0x34, 0xb2, 0x9f, 0xbc, 0x15, 0x2e, 0x50, 0xc7, 0x7d, 0x01, 0x6f, 0xcf, 0xbe, 0x39, 0x0d, 0xbc,
- 0x98, 0xe0, 0x36, 0xc7, 0xf4, 0xb9, 0x05, 0x8b, 0x49, 0xb2, 0x27, 0x02, 0x37, 0x91, 0x16, 0x8e,
- 0x04, 0xc6, 0x07, 0xf6, 0xbd, 0x69, 0x30, 0xd2, 0x34, 0x2e, 0xa9, 0x82, 0x2f, 0x2c, 0x58, 0x19,
- 0x7e, 0x06, 0x20, 0x13, 0xb7, 0xe7, 0xbc, 0x15, 0xca, 0x17, 0xbc, 0xe1, 0xec, 0x0f, 0x04, 0xf0,
- 0x87, 0xf6, 0xfe, 0x34, 0xc0, 0x8f, 0x87, 0x26, 0xe7, 0x89, 0xfe, 0x83, 0x05, 0x39, 0x79, 0x99,
- 0xa2, 0x0d, 0xd3, 0x5d, 0x94, 0x7e, 0x64, 0x94, 0x5f, 0x1e, 0xe3, 0xa1, 0x44, 0x7a, 0x20, 0x80,
- 0xde, 0xb1, 0x77, 0xa7, 0x01, 0x2a, 0xef, 0x65, 0x0e, 0xef, 0x77, 0x16, 0xcc, 0xeb, 0x2b, 0x19,
- 0xd9, 0x26, 0x09, 0x0c, 0xde, 0xd7, 0xe7, 0x1e, 0xa8, 0x87, 0x02, 0xd7, 0x3d, 0xfb, 0xf6, 0x54,
- 0xea, 0x54, 0x93, 0x71, 0x64, 0x5f, 0x58, 0xb0, 0x34, 0x58, 0x3d, 0xa2, 0xad, 0x49, 0x0b, 0xcc,
- 0xf2, 0xab, 0x63, 0x5f, 0xfc, 0x3a, 0x97, 0x8f, 0x04, 0xe6, 0x43, 0xfb, 0x87, 0xd3, 0x60, 0x8e,
- 0x06, 0x00, 0x70, 0xe4, 0x7f, 0xb6, 0x60, 0x71, 0xa0, 0x2e, 0x34, 0x5e, 0x57, 0xa6, 0xca, 0x71,
- 0x42, 0xdc, 0xcf, 0x64, 0x97, 0x45, 0xe9, 0xf9, 0x77, 0xac, 0xca, 0xee, 0x6f, 0x2d, 0x78, 0xbe,
- 0x15, 0xfa, 0xa3, 0x08, 0x76, 0x17, 0xd4, 0xfb, 0xaa, 0xce, 0x29, 0xaf, 0x5b, 0x1f, 0xde, 0x50,
- 0x2e, 0x9d, 0xd0, 0xc3, 0x41, 0xa7, 0x1a, 0xc6, 0x9d, 0x5a, 0x87, 0x04, 0x42, 0x10, 0x35, 0x69,
- 0xc2, 0x91, 0x4b, 0x53, 0xff, 0x91, 0xbc, 0xa5, 0x3e, 0xff, 0x94, 0x59, 0xbf, 0x23, 0x87, 0xde,
- 0xf2, 0xc2, 0x6e, 0xbb, 0xaa, 0xe2, 0x56, 0x1f, 0x5f, 0xfb, 0x4a, 0x5b, 0x9e, 0x08, 0xcb, 0x13,
- 0x65, 0x79, 0xf2, 0xf8, 0xda, 0x71, 0x4e, 0x04, 0x7e, 0xe3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff,
- 0x33, 0x44, 0xce, 0x51, 0xcb, 0x1a, 0x00, 0x00,
- }
|