// BeginExecuteBatch is part of the queryservice.QueryServer interface func (q *query) BeginExecuteBatch(ctx context.Context, request *querypb.BeginExecuteBatchRequest) (response *querypb.BeginExecuteBatchResponse, err error) { defer q.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.EffectiveCallerId, request.ImmediateCallerId, ) bql, err := querytypes.Proto3ToBoundQueryList(request.Queries) if err != nil { return nil, vterrors.ToGRPCError(err) } results, transactionID, err := q.server.BeginExecuteBatch(ctx, request.Target, bql, request.AsTransaction, request.Options) if err != nil { // if we have a valid transactionID, return the error in-band if transactionID != 0 { return &querypb.BeginExecuteBatchResponse{ Error: vterrors.VtRPCErrorFromVtError(err), TransactionId: transactionID, }, nil } return nil, vterrors.ToGRPCError(err) } return &querypb.BeginExecuteBatchResponse{ Results: sqltypes.ResultsToProto3(results), TransactionId: transactionID, }, nil }
// BeginExecute is part of the queryservice.QueryServer interface func (q *query) BeginExecute(ctx context.Context, request *querypb.BeginExecuteRequest) (response *querypb.BeginExecuteResponse, err error) { defer q.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.EffectiveCallerId, request.ImmediateCallerId, ) bv, err := querytypes.Proto3ToBindVariables(request.Query.BindVariables) if err != nil { return nil, vterrors.ToGRPCError(err) } result, transactionID, err := q.server.BeginExecute(ctx, request.Target, request.Query.Sql, bv) if err != nil { // if we have a valid transactionID, return the error in-band if transactionID != 0 { return &querypb.BeginExecuteResponse{ Error: vterrors.VtRPCErrorFromVtError(err), TransactionId: transactionID, }, nil } return nil, vterrors.ToGRPCError(err) } return &querypb.BeginExecuteResponse{ Result: sqltypes.ResultToProto3(result), TransactionId: transactionID, }, nil }
// Execute is the RPC version of vtgateservice.VTGateService method func (vtg *VTGate) Execute(ctx context.Context, request *vtgatepb.ExecuteRequest) (response *vtgatepb.ExecuteResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = withCallerIDContext(ctx, request.CallerId) bv, err := querytypes.Proto3ToBindVariables(request.Query.BindVariables) if err != nil { return nil, vterrors.ToGRPCError(err) } result, err := vtg.server.Execute(ctx, string(request.Query.Sql), bv, request.Keyspace, request.TabletType, request.Session, request.NotInTransaction) return &vtgatepb.ExecuteResponse{ Result: sqltypes.ResultToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }
// ExecuteBatchKeyspaceIds is the RPC version of // vtgateservice.VTGateService method func (vtg *VTGate) ExecuteBatchKeyspaceIds(ctx context.Context, request *vtgatepb.ExecuteBatchKeyspaceIdsRequest) (response *vtgatepb.ExecuteBatchKeyspaceIdsResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = withCallerIDContext(ctx, request.CallerId) result, err := vtg.server.ExecuteBatchKeyspaceIds(ctx, request.Queries, request.TabletType, request.AsTransaction, request.Session) return &vtgatepb.ExecuteBatchKeyspaceIdsResponse{ Results: sqltypes.ResultsToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }
// Execute is the RPC version of vtgateservice.VTGateService method func (vtg *VTGate) Execute(ctx context.Context, request *vtgatepb.ExecuteRequest) (response *vtgatepb.ExecuteResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.CallerId, callerid.NewImmediateCallerID("grpc client")) bv, err := tproto.Proto3ToBindVariables(request.Query.BindVariables) if err != nil { return nil, vterrors.ToGRPCError(err) } result, err := vtg.server.Execute(ctx, string(request.Query.Sql), bv, request.TabletType, request.Session, request.NotInTransaction) return &vtgatepb.ExecuteResponse{ Result: sqltypes.ResultToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }
// ExecuteBatchKeyspaceIds is the RPC version of // vtgateservice.VTGateService method func (vtg *VTGate) ExecuteBatchKeyspaceIds(ctx context.Context, request *vtgatepb.ExecuteBatchKeyspaceIdsRequest) (response *vtgatepb.ExecuteBatchKeyspaceIdsResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.CallerId, callerid.NewImmediateCallerID("grpc client")) result, err := vtg.server.ExecuteBatchKeyspaceIds(ctx, request.Queries, request.TabletType, request.AsTransaction, request.Session) return &vtgatepb.ExecuteBatchKeyspaceIdsResponse{ Results: sqltypes.ResultsToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }